各种开发工具技巧小结
acrobat professional:
你要在Ctrl+K中的设置点击左侧有一项叫“一般”,然后在右侧的“使用单键
加速键访问工具”前打对号,否则没有效果。
工具 快捷键
首选项CTRL+K
建立标签CTRL+B
手形工具【H】
快照工具【G】
选择工具【V】
临时选择手形工具【空格键】
轮流选定缩放工具:选择对象元数据工具【Shift+V】
轮流选定缩放工具:放大、缩小、动态缩放【Shift+Z】
轮流选定缩放工具:放大、缩小、动态缩放、放大镜【Shift+Z】
选定当前缩放工具【Z】
临时选择放大工具【Ctrl+空格键】
临时选择缩小工具【Ctrl+Alt+空格键】
临时选择动态缩放工具(当选定了放大或缩小时)【Shift】
选择对象工具【R】
文章工具【A】
裁剪工具【C】
链接工具【L】
按钮工具【F】
轮流选定表单工具:按钮、复选框、组合框、列表框、单选按钮、文本域、数
字签名【Shift+F】
电影工具【M】
声音工具【Shift+M】
Touch Up 文本工具【T】
Touch Up 对象工具【Shift+T】
距离工具【B】
轮流选定测量工具:距离、周长、面积【Shift+B】
source insight:
1、按住"ctrl", 再用鼠标指向某个变量,点击一下,就能进入这个变量的定义。
2、今天把一个用sourceinsight排版整齐的C文件,偶然用VC打开一看,全乱了。研究了半天,发现SI对每个字符的宽度不太一致。
请教同事发现选上"view --> draft view", 就可以让每个字符的宽度一致了。快捷键是 "Alt + F12"
3、"shift+F8" 标亮所有文本中光标所在位置的单词
4、跳到某一行:"ctrl + g"(VC,VS也一样) 或者F5
5, F3 查找上一个,F4查找下一个.
6,恢复CTRL+A的全选功能。 点击options->Key Assignment,通过关键词save 找到save all,更改为ctrl+shift+a,通过关键词select找到select all,更改为ctrl +a
UltraEdit:
1,ctrl+B 找对应配对的括号
2,先双击选中,然后F3查找下一个,ctrl+F3 查找上一个,Mac版本也可选成windows键
在Source Insight集成Astyle(代码格式化)
Windows平台下也有好多人都喜欢用SourceInsight编辑C/C++程序,但是SourceInsight没有提供对代码格式化的功能,如果将Artistic Style集成到SourceInsight中,那就可以为它扩展出代码格式化的功能了。
假定AStyle.exe的目录是“C:/ArtisticStyle/”,在该目录下有一个“c.opt”文件是用来保存配置的文件。下面简要地介绍下Artistic Style集成到SourceInsight中的方法。
1.打开你的SourceInsight,选择菜单“Options-->Custom Commands-->Add”,输入Artistic Style(可以随便输入一个名字)。
2. Run中输入: C:/ArtisticStyle/astyle.exe -KLmpb %f (注意路径不可以是中文的)
3. Dir留空,将Iconic Window, Pause when done, Wait until done, File,then Line 四项前打上勾。
4.然后点对话框中右侧的按钮“Menu”, Menu--->Menu-->View--><end of menu>, 右侧Insert, OK.
5.此时在SourceInsight中的View菜单下多了个Style的子菜单选项,可以用它来对单个C/C++文件进行格式化。
options->preference->Files 下边可设置自动加载改变文件而不询问
在Source Insight集成PC lint(静态检查)
一、安装。
1。首先,将本目录下的文件全部拷贝到c:/lint之下。
2。然后,在Source InSight中,选择Option-> Custom Commands... 弹出“Custom Commands”窗口。
进行如下设置:
1) Command不要填,Name填PCLint
2) Run中填:C:/LINT/Lint-nt.exe -ic:/lint/std.lnt %f
3) 选中以下复选框:
Iconic Window
Capture Output
Save Files First
Wait Until Done
Parse Links in Output
File, then Line
其他复选框不选。
4) Pattern中填:^/([a-zA-Z].*/)(/([0-9][0-9]*/)).*
然后点Add按钮。
3。最后设置快捷键。
点此窗口中的Keys...按钮,在Commands框中选“PCLint”,点"Add"按钮,然后敲一个热键。例 如"Ctrl+ALT+p ",没有冲突即可。最后点"OK "键。
4。在“Custom Commands”窗口中点 "Change "按钮。
PC-Lint是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。
C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。PClint能够帮你在程序动态测试之前发现编码错误。这样消除错误的成本更低。
使用PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。并提供编码规则检查,规范软件人员的编码行为。
二 PC-Lint 功能
1) PC-Lint是一种静态代码检测工具,可以说,PC-LINT是一种更加严格的编译器,不仅可以象普通编译器那样检查出一般的语法错误,还可以检查出那些虽然完全合乎语法要求,但很可能是潜在的、不易发现的错误。
2) PC-lint不但可以检测单个文件,也可以从整个项目的角度来检测问题,因为C语言编译器固有的单个编译,这些问题在编译器环境下很难被检测,而PC-Lint在检查当前文件的同时还会检查所有与之相关的文件,可想而知,它会对我们有很大的帮助。
3) PC-lint支持几乎所有流行的编辑环境和编译器,比如Borland C++从1.x到5.x各个版本、Borland C++ Build、GCC、VC,VC.net、watcom C/C++、Source insight、intel C/C++等等,也支持16/32/64的平台环境。
4) 支持Scott Meyes的名著(Effective C++/More Effective C++)中说描述的各种提高效率和防止错误的方法。
三 单文件配置
下载软件(http://www.61ic.com/down/othe/pclint.rar),解压缩后可以在目录下面看到一个lnt文件夹,里面都是PCLINT在不同平台下面需要的配置文件。在VC下的配置主要是以下步骤:
1. 将下载的RAR文件解压缩到一个目录中,我的是F:/pclint(工作目录);
2. 将工作目录下的lnt文件夹下的文件都拷贝到工作目录下面;
3. 在工作目录下面新建一个STD.LNT文件,文件内容如下;
F:/PCLint/co-msc60.lnt F:/PCLint/lib-w32.lnt -i"F:/Visual C++/VC98/Include" -i"F:/Visual C++/VC98/MFC/Include" -i"F:/Visual C++/VC98/ATL/Include" |
前面两个表示在VC平台下要用到的配置文件:co-msc60.lnt和lib-w32.lnt文件,它们都在工作目录下;后面的
三条指明VC的头文件目录,注意前面用-i指明路径;
4. 打开VC 6.0,在菜单栏上点击:工具->定制,在弹出的对话框选择“工具”页,在“菜单内容”下新建一个内容:PCLint;下面有命令和变量需要填写,分别如下:
命令:F:/PCLint/lint-nt.exe Use Output Window项打勾。(否则会弹出命令行窗口) |
最后在该页面底部把“使用输出窗口”这一单选框选上,点击“关闭”退出定制窗口。具体配置窗口如下:
5. 配置完成,打开VC的“工具”菜单即可看到有“PCLint”这一项。以后可以直接使用这个工具进行编译文件。
(PS:在配置的时候只要把相关路径(PLINT的路径及VC头文件的路径)改成自己的就可以)
四 单文件编译测试
用VC6.0我建了一个简单的CPP文件,代码如下:
int main()
{
printf("Hello World/n");
return 0 ;
}
用"PCLint"工具编译后在VC输出窗口中有如下信息:
PC-lint for C/C++ (NT) Ver. 8.00e, Copyright Gimpel Software 1985-2001 --- Module: E:/VC_Study/PCLint/PCLintTest.cpp _ } E:/VC_Study/PCLint/PCLintTest.cpp(8) : Info 783: Line does not end with new-line 工具返回代码: 1 |
五 多文件(工程)配置
用利用PCLINT对整个工程进行编译需要用到unix中的find等命令来查找当前目录下的C和C++文件。下载
UnxUtils.zip(http://www.weihenstephan.de/~syring/win32/UnxUtils.zip)。将这个压缩文件解压到工作目录下,可以看到在F:/PCLint/UnxUtils/usr/local/wbin目录下有很多命令。
在vc6.0的工具->定制窗口中添加一个"PCLint_Project"项,命令和变量如下:
命令:F:/PCLint/UnxUtils/usr/local/wbin/find.exe 变量:$(FileDir) -name *.c -o -name *.cpp | F:/PCLint/UnxUtils/usr/local/wbin/xargs.exe F:/PCLint/lint-nt -i"F:/PCLint/UnxUtils/usr/local" -u F:/PCLint/std.lnt |
在该窗口底部把“使用输出窗口”这一单选框选上,点击“关闭”退出定制窗口。
这样,在VC的工具菜单下多了一个"PCLint_Project"工具,对VC工程进行编译的时候直接用这个工具即可。
六 工程编译测试
在VC下新建一个含Hello World的Console Application,修改.cpp文件代码如下:
int main(int argc, char* argv[])
{
printf("Hello World!/n");
Hello();
return 0;
}
void Hello()
{
printf("Hello/n");
}
用PCLint测试如下(只针对当前的.cpp文件):
PC-lint for C/C++ (NT) Ver. 8.00e, Copyright Gimpel Software 1985-2001 --- Module: E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp _ Hello(); E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Error 1055: Symbol 'Hello' undeclared, assumed to return int E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Info 746: call to function 'Hello()' not made in the presence of a prototype E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Warning 534: Ignoring return value of function 'Hello()' (compare with line 11) E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Info 830: Location cited in prior message _ } E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(13) : Info 715: Symbol 'argv' (line 8) not referenced E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(8) : Info 830: Location cited in prior message _ } E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(13) : Info 818: Pointer parameter 'argv' (line 8) could be declared as pointing to const E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(8) : Info 830: Location cited in prior message _ } E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(13) : Info 715: Symbol 'argc' (line 8) not referenced E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(8) : Info 830: Location cited in prior message 工具返回代码: 10 |
用PCLint_Project测试如下(针对整个工程):
PC-lint for C/C++ (NT) Ver. 8.00e, Copyright Gimpel Software 1985-2001 --- Module: E:/VC_Study/PCLint/ProjectTest/StdAfx.cpp --- Wrap-up for Module: E:/VC_Study/PCLint/ProjectTest/StdAfx.cpp Info 766: Header file 'E:/VC_Study/PCLint/ProjectTest/stdafx.h' not used in module 'E:/VC_Study/PCLint/ProjectTest/StdAfx.cpp' --- Module: E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp _ Hello(); E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Error 1055: Symbol 'Hello' undeclared, assumed to return int E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Info 746: call to function 'Hello()' not made in the presence of a prototype E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Warning 534: Ignoring return value of function 'Hello()' (compare with line 11) E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(11) : Info 830: Location cited in prior message _ } E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(13) : Info 715: Symbol 'argv' (line 8) not referenced E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(8) : Info 830: Location cited in prior message _ } E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(13) : Info 818: Pointer parameter 'argv' (line 8) could be declared as pointing to const E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(8) : Info 830: Location cited in prior message _ } E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(13) : Info 715: Symbol 'argc' (line 8) not referenced E:/VC_Study/PCLint/ProjectTest/ProjectTest.cpp(8) : Info 830: Location cited in prior message 工具返回代码: 123 |
从测试中可以看到PCLINT会对文件/工程中存在或潜在的错误统统找出,有效的保障了代码的安全性和稳定性!
PCLint 在VC6.0下的配置使用
posted on 2010-09-17 17:16 Hibernate4 阅读(704) 评论(0) 编辑 收藏 举报