将项目划分为不同的PC-Lint警告策略

时间:2015-03-31 06:07:55

标签: c++ c static-analysis pc-lint

我对PC-Lint及其配置文件有疑问。在该文件中,我从以下内容开始:

// --- Rules --------------------------------------------------------------------------------------

// warning policy
au-misra3.lnt                    // (MISRA C 2012 (TM) - 6/12/14)
au-misra-cpp-alt.lnt             // (MISRA C++ 2008 using 9000 level messages - 6/12/14)

该项目与.c和.cpp文件混淆。如何告诉PC-Lint仅使用C-Files上的C-Policy和CPP-Files上的CPP-Policy?

提前致谢!

2 个答案:

答案 0 :(得分:1)

这是一个有趣的问题。如果你在做 单位检查(选项-u)您当然可以设置您的构建 环境使用不同的选项文件 源文件。但除此之外,我认为这应该有效:

-save
au-misra3.lnt
[list of C files]
-restore

au-misra-cpp-alt.lnt
[list of C++ files]

答案 1 :(得分:0)

另一个想法是使用-header(lintoptions.h)来包含你的lint选项。包含文件可能是这样的:

//lint -restore_at_end
#ifdef __cplusplus
//lint -indirect(au-misra-cpp-alt.lnt)
#else
//lint -indirect(au-misra3.lnt)
#endif

如果有任何效果,请告诉我们。