source insigt、pc-lint、VS联合使用
前言:
近几天参加公司培训,公司要求,开发的时候使用source insight、PC-lint和VC来编程和调试,这不用不知道,一用吓一跳,这套工具一组合简直爽的根本停不下来。
先说一下各自的作用,source insight主要用于编辑和浏览代码,编写代码的时候它有大量的提示,就像使用了搜狗输入法一般,还有很重要的是把鼠标往一个变量上面一停,下面的上下文窗口就把它的相关定义显示出来了,对于包含大量结构体的复杂系统来说,非常方便,当然还有其他好多优点。然后,是PC-lint,这个是一个静态检查工具,有的时候我们编程序的时候,虽然编译通过了,且功能实现了,但是还是会存在潜在的风险,而编译器往往会把这些潜在的错误放掉,所以公司要求使用PC-lint进行静态检查。最后就是VC了,这个没什么好说的,编译调试工具而已,因为前面两个工具没有编译调试功能,所以使用VC了,我这里由于电脑安装的是VS,所以下面就总结一下source insight、PC-lint和VS的一起使用吧。
一、高效的使用VS和source insight
(1)使用VS建立一个工程,并且在工程中添加必要的源文件,如VS工程文件如下:

(2)在source insight中建立一个工程(注意跟VS的工程建立在同一个文件夹下)
细节如下:



同步完之后可以看到VS中建立的三个文件,以后每次改变工程文件的时候,都要在source insight中project-Add and remove project files中进行文件的添加删除,然后同步。

建立完之后目录如下:

其中VS的源文件,在test中。
这是就可以在source insight中编写代码了,然后记得每次编完之后保存一下文件,再切回到VS工程界面,会问你接受文件改变不?接受的话文件中的内容就被改成在source insight中编写的代码了,反过来一样(因为它们都是对同一个文件进行编码的)。
(3)在source 中添加并同步source insight工程
二、在source insight中集成PC-lint
编完代码之后就可以编译调试了,都搞定之后,可以使用PC-lint进行静态检查,以进一步减少潜在的错误,为了方便时候可以在source insight中集成PC-lint命令,并给它设置一个快捷键,这样使用起来就方便了。
(1)安装好source insight之后,下载一个无需安装版本的PC-lint,然后将其复制到C盘根目录。
(2)source insight中选择options-custom command进行命令设置如下:

其中command名字随便取,这里取的是pc-lint
其他参数如下:
Run: C:\LINT\LINT-NT.EXE option.lnt %f
Dir: C:\LINT
Pattern: ^\([a-zA-Z].*\)(\([0-9][0-9]*\)).*
然后选择add,这回打开这个命令点击run就可以检查运行PC-lint检查source insight当前工程下的文件了,为了更方便的使用这个命令,可以把这个命令添加到别的窗口中,还可以添加快捷键。
options-menu assignments
如下在command中输入关键字,找到要设置的命令PC-lint,然后选择一个Menu中的菜单(如help),还可以调整其位置,然后 insert即可,这回在help菜单中就可以直接看到PC-lint的按钮了。

还可以添加快捷键:
options-keys assignment

这样以后使用ctrl+p就可以直接调用PC-lint进行静态检查了。
如,下面这个提示:表示num1和num2都没有初始化,n定义了但是没有使用。

source insigt、pc-lint、VS联合使用的更多相关文章
- PC lint -sem 用法示例
-sem(std::auto_ptr::auto_ptr,custodial(1)) // the auto_ptr class type // handles custody automagical ...
- Top 40 Static Code Analysis Tools
https://www.softwaretestinghelp.com/tools/top-40-static-code-analysis-tools/ In this article, I have ...
- debug makefile 及 lint 软件质量软件
make -d should give you more than enough information to debug your makefile. Be warned: it will take ...
- [Android Memory] Android Lint简介(转载)
英文原文:http://tools.android.com/tips/lint 参照文章:http://blog.csdn.net/thl789/article/details/8037473 转载 ...
- Android Lint简介(转)
转载自原文:http://blog.csdn.net/hudashi/article/details/8333349,感谢原作者. 英文原文:http://tools.android.com/tips ...
- eclipse lint工具介绍
一.基本介绍 作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件目录中没有用到的图片等资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidMan ...
- Android 性能优化(1)性能工具之「 lint 」 :Improving Your Code with lint:优化代码
Improving Your Code with lint 1.See Also lint (reference) Using Android Annotations In addition to t ...
- Keil MDK中使用pc-lint的详细方法
keil MDK版本:V4.03 PC-lint版本: V8.0 关于pc-lint的强大作用,网上有很多,这里不想再复述,只说一句:能通过pc-lint检验的程序不一定没有问题,但通过了pc-li ...
- 用VC进行64位编程
用VC进行64位编程 分类: C/C++2014-04-30 15:14 532人阅读 评论(0) 收藏 举报 本文转自:http://www.usidcbbs.com/read-htm-tid-52 ...
随机推荐
- 利用Lucene将被索引文件目录中的所有文件建立索引
1.新建两个文件夹htm和index,其中htm中存放被索引的文件,index文件中存放建立的索引文件. 2.新建解析目录中所有文件的类,用来解析指定目录下的所有文件. import java.io. ...
- Python动态网站的抓取
网页下载器 # coding:utf-8import requestsimport urllib2import systype = sys.getfilesystemencoding()class H ...
- sql server数据库创建、删除,创建表,数据库的sql语句
create database test on primary -- 默认就属于primary文件组,可省略(/*--数据文件的具体描述--*/ name='test', -- 主数据文件的逻辑名称 ...
- Linux 进程间通信(二)(网络IPC:套接字)
socket描述符 套接字是通信端点的抽象,创建一个套接字使用如下函数: #include <sys/socket.h> int socket(int domain, int type, ...
- Yue Fei's Battle(组合计数递推)
//求一个直径为 k 的树有多少种形态,每个点的度不超过 3 // 非常完美的分析,学到了,就是要细细推,并且写的时候要细心 还有除法取模需要用逆元 #include <iostream> ...
- php5.4新特性实践
本机安装的是wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b.exe集成包 自带了php5.4 1. 数组写法 定义一个数组 过去: $arr = ...
- coursera 《现代操作系统》 -- 第十一周 IO系统
本周要求 错题 下列I/O控制方式中,哪一个不需要硬件支持? 中断方式 轮询方式 DMA方式 I/O处理机方式 中断方式:中断控制器 轮询方式:CPU不断查询设备以了解其是否就绪 DMA:使用到了 ...
- mixin 在传参中可以出现 参数 在类内部可以定义 作用域
mixin 在传参中可以出现 参数 在类内部可以定义
- Date、Calendar、DateFormat、SimpleDateFormat、Timer、TimerTask类
类 Date 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值. 它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...
- Apache JServ Protocol (AJP)
The Apache JServ Protocol (AJP) is a binary protocol that can proxy inbound requests from a web serv ...