【FAQ】C和C ++的首选静态分析工具 PC-lint Plus 常见问题集(二)

C和C ++的首选静态分析工具 PC-lint Plus 常见问题集

PC-lint Plus是一种静态分析工具,通过分析C和C ++源代码来发现软件中的缺陷。与编译器一样,PC-lint Plus会解析源代码文件,执行语义分析,并构建一个抽象语法树来表示程序。PC-lint Plus采用各种机制,包括数据流分析,数值跟踪,读写分析,强类型检查,功能语义验证和许多其他技术,来提供对单个文件和整个项目强大而全面的分析。

PC-lint Plus试用版


1.Q:如何让PC-lint Plus支持DIAB DATA C ++编译器的内联汇编/strong>

A:您需要使用:

+rw(_ignore_init)

-dasm=_ignore_init

您还需要 -$ 选项。


2.Q:如何抑制单个文件的信息-efile不起作用。

A:-efile选项仅适用于在文件名上参数化的信息(例如,消息7,305,306,307,314,404,405,406,537,766)。 此选项将禁止有关文件的信息,而不是文件中的信息。 虽然没有明确禁用特定文件中的信息的选项,但您可以使用以下解决方案之一来实现相同的效果:

  1. 在禁用该选项的文件名和之后的-restore选项之前使用选项-save -e#。 例如,如果您提供给lint的文件列表是1.c 2.c 3.c而您想在2.c中禁用信息701,则可以使用1.c -save -e701 2.c -restore 3.C。
  2. 您可以将选项-save -e#放在要禁用该信息的文件顶部的lint注释中,并在末尾的lint注释中使用-restore选项。例如:
    //lint -save -e701

    //lint -restore

-save和-restore选项形成一个堆栈以允许嵌套,因此这两种解决方案都不会干扰可能已存在于文件中的任何-save或-restore选项。


3.Q:如何告诉lint忽略我的嵌入式SQL代码/strong>

A:对于SQL,如:EXECSQL … ;

使用选项:

-dEXECSQL=_to_semi

+rw(_to_semi)

对于code,如:EXEC SQL … ;

使用选项:

-dEXEC=_to_semi

+rw(_to_semi)


4.Q:如何测试我的代码以实现最大警告级别/strong>

A:使用以下选项:

    +fsc                           假设字符串常量是const char *

    +fpn                          在没有检查NULL的情况下警告指针参数的使用

   -strong(AJX)               所有typedefs必须完全匹配

   -w4                             使用最大警告级别

想要购买 PC-Lint Plus正版授权,或者获取更多该产品相关信息的朋友可以点击” 咨询在线客服 “~
海量产品正在参加年终大促,价格优惠!详情请点击” 年终巅峰钜惠 “~

标签:代码优化静态检测工具

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年11月10日
下一篇 2018年11月11日

相关推荐

发表回复

登录后才能评论