`
blogfeifei
  • 浏览: 1194288 次
文章分类
社区版块
存档分类
最新评论

各种开发工具技巧小结

 
阅读更多

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

分享到:
评论

相关推荐

    Java开发工具Jcreator使用技巧总结

    Java开发工具Jcreator使用技巧总结

    android常用开发工具的使用技巧总结

    对android应用开发中:创建工程,创建模拟器,运行项目,ddms进行调试,输出日志,Eclipse搜索,认识模拟器,安装apk文件,Google sdk开发文档学习方法,导入系统自带的示例如apidemo等,运行调试学习,单元测试。...

    Visual C++开发工具与调试技巧整理

    在VC 开发程序时开发程序时会遇到的一些常见问题各在调试程序的调试技巧总结。

    idea的各种快捷键操作及各种小技巧大全.txt

    总结的非常全的idea开发工具的各种快捷键,各种应用的使用小技巧,通过这个可以快速熟悉idea开发工具,快速掌握很多小技巧

    多语言软件开发小结

    这是一个提供软件国际化技巧的资源集成,其中还介绍了一个工具来简化软件国际化的工作,其中工具也是支持国际化,当前实现中文和英文,相当于在制作此工具的过程中积累的经验。

    大数据开发的技巧总结以及入门教程知识点总结.docx

    数据清洗:熟练使用ETL工具和编程技术进行数据预处理和清洗。 集群管理:掌握Hadoop、YARN或Mesos等集群资源管理与调度系统。 数据存储:熟悉HDFS、HBase、Cassandra等分布式存储系统的特性和使用。 实时处理:...

    爬虫开发技巧总结和入门教程知识点总结.docx

    爬虫监控与调试:利用各种工具进行爬虫性能监控,如请求响应时间、成功率等;并学会使用pdb等工具进行代码调试。 数据去重与增量爬取:对于大量重复数据,如何高效去重;如何实现仅爬取新增或更新的数据。 大型...

    IDEA开发工具的学习使用

    初级学习者使用,对IDEA的使用技巧总结

    ABAP 开发技巧

    区别CALL SCREEN/SET SCREEN/LEAVE TO SCREEN ABAP-SAP的几种(代)出口类型 Web_dynpro-关于WEB...开发注意小技巧 UP TO X ROWS 用法 ABAP的基本的知识 如何使用SMOD和CMOD进行SD的用户增强 ABAP面试题及其解答

    Allegro PCB设计开发工具使用说明

    PCB设计工程师个人总结的Allegro开发工具的使用方法和一些菜单说明和技巧

    微信公众平台应用开发:方法、技巧与案例.(机械工业.柳峰)

     3.1.3 开发工具介绍 35  3.2 开发请求校验程序 36  3.2.1 开发者文档介绍 37  3.2.2 明确请求校验流程 37  3.2.3 请求校验流程分析 38  3.2.4 请求校验程序的实现 40  3.2.5 本地测试 43  3.2.6 ...

    TCPIP高效编程:改善网络程序的44个技巧 PDF中文版带书签-目录

    1.5 小结 12 第2章 基本概念 13 2.1 技巧1:理解面向连接和无连接协议之间的区别 13 2.2 技巧2:理解子网和CIDR的概念 18 2.2.1 分类编址 18 2.2.2 子网划分 21 2.2.3 CIDR 26 2.2.4 子网划分和CIDR的状态 27...

    移动应用开发技巧以及入门教程知识点总结.docx

    SDK集成:掌握各平台的软件开发工具包(SDK)集成方法,如Google Mobile Services、Apple iOS SDK等。 界面设计:遵循Material Design(Android)和Human Interface Guidelines(iOS)进行界面布局与交互设计。 ...

    对接真实数据 从0开发前后端分离企业级上线项目.txt

    课程介绍与开发前的准备工作、开发环境搭建与开发工具使用技巧、项目初始化与基于模块化的脚手架搭建、项目通用功能开发、用户模块开发、商品模块开发、购物车模块开发、订单模块开发、支付模块开发、后台管理系统...

    CSS高效开发实战

    全书包含大量的实战案例和开发技巧,总结了CSS开发中的非常好的实践方法(LESS、SASS、Bootstrap、Foundation、Node.js、jQuery),讨论了各种实际问题的解决方案,是一本目前市场上难得一见的CSS高效开发实战书。

    android开发入门教程

    目录 第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 ...4.6 本章小结

    Android开发技巧总汇(个人总结)

    目录 1.坐标传递到google Map 2 2.获得联系人 5 3.监听短信内容 6 4.3D魔方 7 5.Android 界面刷新 16 6.Cursor 17 ...1.APK反编译工具.rar 60 2.APK安装工具.rar 60 47.Google Maps 的应用 60

    Android开发必知的50个诀窍 pdf

    作译者都是经验丰富的Android开发工程师,作者悉心总结Android应用开发中会遇到的50个经典问题,这些问题涉及布局、动画、视图、工具、列表、适配器、实用库、与其他编程语言的交互、数据库、构建工具、代码复用、...

    Vue 项目构建与开发入门.rar

    实用的 Vue 项目开发工具、第三方库及接口知识 可以试一下这一款markdown编辑器: https://www.typora.io/ 『课程目录』: 开篇:Vue CLI 3 项目构建基础.md 开发拓展篇 1:扩充你的开发工具.md 开发拓展篇 2:将 ...

    windows驱动开发技术详解-part2

     3.3.5 VC编译小结  3.4 查看调试信息  3.4.1 打印调试语句  3.4.2 查看调试语句  3.5 手动加载NT式驱动  3.6 编写程序加载NT式驱动  3.6.1 SCM组件和Windows服务  3.6.2 加载NT驱动的代码  3.6.3 ...

Global site tag (gtag.js) - Google Analytics