各种开发工具技巧小结

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 查找上一个

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下的配置使用

你可能感兴趣的:(开发工具)