前言:

近几天参加公司培训,公司要求,开发的时候使用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联合使用的更多相关文章

  1. PC lint -sem 用法示例

    -sem(std::auto_ptr::auto_ptr,custodial(1)) // the auto_ptr class type // handles custody automagical ...

  2. Top 40 Static Code Analysis Tools

    https://www.softwaretestinghelp.com/tools/top-40-static-code-analysis-tools/ In this article, I have ...

  3. debug makefile 及 lint 软件质量软件

    make -d should give you more than enough information to debug your makefile. Be warned: it will take ...

  4. [Android Memory] Android Lint简介(转载)

    英文原文:http://tools.android.com/tips/lint  参照文章:http://blog.csdn.net/thl789/article/details/8037473 转载 ...

  5. Android Lint简介(转)

    转载自原文:http://blog.csdn.net/hudashi/article/details/8333349,感谢原作者. 英文原文:http://tools.android.com/tips ...

  6. eclipse lint工具介绍

    一.基本介绍 作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件目录中没有用到的图片等资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidMan ...

  7. 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 ...

  8. Keil MDK中使用pc-lint的详细方法

    keil MDK版本:V4.03 PC-lint版本:  V8.0 关于pc-lint的强大作用,网上有很多,这里不想再复述,只说一句:能通过pc-lint检验的程序不一定没有问题,但通过了pc-li ...

  9. 用VC进行64位编程

    用VC进行64位编程 分类: C/C++2014-04-30 15:14 532人阅读 评论(0) 收藏 举报 本文转自:http://www.usidcbbs.com/read-htm-tid-52 ...

随机推荐

  1. requirejs 第一个实例

    介绍:requirejs 是实现了模块化加载和按需加载的js库,防止了全局变量的污染. 1.安装 require : 在require 中文网下载 http://www.requirejs.cn/,然 ...

  2. 文件存储 FileUtil FileBaseDto

    package com.guige.base.fileutils; import com.alibaba.fastjson.JSONArray; import com.aliyun.oss.Servi ...

  3. c++包含头文件好还是重新定义好

    A.h struct A { int a; int b; }; B.cpp 在B.cpp里面用到这个结构体 有两种方法 .自己定义一个一模一样的结构体 struct A { }; .包含A.h头文件 ...

  4. 关于错误处理程序中【return】的用法

    先让俺这位新人帮各位有幸游览到我博客文章的叔叔阿姨哥哥姐姐们解释一下什么是错误处理?即:当程序发生错误时,保证程序不会异常中断的机制. 那么为什么程序中会有错误处理呢?像我们通常无论是玩手机或者玩游戏 ...

  5. 【BZOJ1803】Spoj1487 Query on a tree III 主席树+DFS序

    [BZOJ1803]Spoj1487 Query on a tree III Description You are given a node-labeled rooted tree with n n ...

  6. Spring 缓存注解@Cacheable 在缓存时候 ,出现了第一次进入调用 方法 ,第二次不调用的异常

    代码: @Override @Cacheable(value = CACHE_NAME, key = "'CartItemkey_'+#uId") public List<S ...

  7. JVM 的 Xms 和 Xmx 设置一样大小的内存容量

    4. [推荐]在线上生产环境,JVM 的 Xms 和 Xmx 设置一样大小的内存容量,避免在 GC 后调整堆 大小带来的压力. 现在,我们知道了Elasticsearch所公开的缓存和缓冲区,可以尝试 ...

  8. 网络免费API接口整理

    转载自: https://www.cnblogs.com/doit8791/p/9351629.html 从网上看到一些免费API接口,在个人开发小程序等应用练手时可试用. 各类无次数限制的免费API ...

  9. 如何生成动态库 .dll 的符号 .lib 文件?

    在知道拥有动态库和头文件的情况下,但没有动态库符号文件的情况下,如何静态链接动态库? 1.使用 Microsoft Visual Studio Tools 命令行命令生成 xxx.def 文件,进而使 ...

  10. 控制台程序的中文输出乱码问题(export LC_CTYPE=zh_CN.GBK,或者修改/etc/sysconfig/i18n为zh_CN.GBK。使用setlocale(LC_CTYPE, "");会使用默认办法。编译器会将源码做转换成Unicode格式,或者指定gcc的输入文件的编码参数-finput-charset=GBK。Linux下应该用wprintf(L"%ls/n",wstr))

    今天发现用securecrt登陆时,gcc编译出错时会出现乱码,但直接在主机的窗口界面下用Shell编译却没有乱码.查看了一下当时的错误描述,发现它的引号是中文引号,导致在SecureCRT中显示出错 ...