C和C ++的首选静态分析工具 PC-lint Plus 常见问题集
PC-lint Plus是一种静态分析工具,通过分析C和C ++源代码来发现软件中的缺陷。与编译器一样,PC-lint Plus会解析源代码文件,执行语义分析,并构建一个抽象语法树来表示程序。PC-lint Plus采用各种机制,包括数据流分析,数值跟踪,读写分析,强类型检查,功能语义验证和许多其他技术,来提供对单个文件和整个项目强大而全面的分析。
1.Q:如何告诉lint在哪里找到我的编译器头文件/strong>
A:使用-i选项或INCLUDE环境变量为当前目录中找不到的文件指定搜索路径。
您可以多次使用-i选项指定多个搜索目录。-i选项和目录名称之间不应有空格,终止目录分隔符是可选的。目录将按照指定的顺序被搜索。例如,要在/usr/local/include中查找头文件,然后在/usr/include中查找,您可以使用:
-i/usr/local/include -i/usr/include
或者,您可以将INCLUDE环境变量设置为以分 分隔(Windows)或冒 分隔(Unix)的目录列表。例如:
在DOS/Windows上:set INCLUDE=/usr/local/include;/usr/include
在UNIX/LINUX上:export INCLUDE=/usr/local/include:/usr/include
您可以使用-incvar选项指定备用环境变量名称。
如果设置了+fim标志选项(默认情况下),则可以使用一个-i选项指定多个目录,方法与上述INCLUDE变量相同。例如:
-i/usr/local/include;/usr/include
–i选项与-i选项相同,但只有在搜索使用-i选项指定的所有目录之后才搜索使用此选项指定的目录。
有关-i,–i和-invcar选项,请参见参考手册的第5.7节,有关INCLUDE环境变量,请参见第15.2.1节。
2.Q:如何让lint控制编译器头文件/strong>
A:Lint使用“library”头文件来指定程序员无法控制的头文件(例如编译器头文件)。默认情况下,所有来自外部目录的#includes或包含在<>中的#includes都被视为“library”。这可以通过使用+libclass选项进行修改,并可使用+libdir/-libdir和+libh/-libh选项进行微调。然后,您可以使用-wlib,-elib和-elibsym选项来控制从库头文件发出的信息。随PC-lint Plus一起分发的编译器选项文件通常包含-wlib(1)选项,该选项将库头文件的lint输出限制为仅错误(抑制警告和信息性信息)。
3.Q:我想为C文件抑制错误,例如715,不是为C ++文件抑制错误。
A:使用-header选项,如:
-header(x.h)
然后在头文件中(本例中为x.h):
#ifdef __cplusplus
//lint +e715
#else
//lint -e715
#endif
未完待续~
想要购买正版授权,或者获取更多PC-lint Plus相关信息的朋友可以点击” 咨询在线客服 “~
海量产品正在参加年终大促,价格优惠!详情请点击” 年终巅峰钜惠 “~
标签:代码优化静态检测工具
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!