各种开发工具技巧小结

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不要填,NamePCLint

           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 介绍
    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
 变量:-u F:/PCLint/std.lnt   "$(FilePath)"

Use Output Window项打勾。(否则会弹出命令行窗口)

注意,-u指明使用哪个配置文件
最后在该页面底部把“使用输出窗口”这一单选框选上,点击“关闭”退出定制窗口。具体配置窗口如下:


5. 配置完成,打开VC的“工具”菜单即可看到有“PCLint”这一项。以后可以直接使用这个工具进行编译文件。
(PS:在配置的时候只要把相关路径(PLINT的路径及VC头文件的路径)改成自己的就可以

四  单文件编译测试
    用VC6.0我建了一个简单的CPP文件,代码如下:
#include <stdio.h>
int main()
{
    printf("Hello World/n");
    return 0 ;
}
如果出现c:/pclint/co-msc60.lnt(214) : Error 307: Can't open indirect file 'lib-ole.lnt' 错误,则可以通过修改co-msc60.lnt中的第214行(倒数第一行 内容为lib-ole.lnt),可以将其注释或改成 C:/pclint/lnt/lib-ole.lnt

用"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文件代码如下:
#include "stdafx.h"
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编辑  收藏  举报

导航