如何在Vim中添加Cppcheck规则

如何在Vim中添加Cppcheck规则,vim,cppcheck,Vim,Cppcheck,我在Vim中启用Cppcheck时遇到一个问题,对于正常代码,它工作正常,但通常我有typedef和一些Cppcheck可能不知道的功能。对于个人检查,我没有问题,因为我可以为Cppcheck编写库和规则,例如mycppcheck.cfg文件: <?xml version="1.0"?> <def> <!-- 2015-Oct-23 requested by Chen How --> <function name="Printf">

我在Vim中启用Cppcheck时遇到一个问题,对于正常代码,它工作正常,但通常我有
typedef
和一些Cppcheck可能不知道的功能。对于个人检查,我没有问题,因为我可以为Cppcheck编写库和规则,例如
mycppcheck.cfg
文件:

<?xml version="1.0"?>

<def>
    <!-- 2015-Oct-23 requested by Chen How -->
    <function name="Printf"><noreturn>false</noreturn></function>
</def>

<def>
    <podtype name="Int8" sign="s" size="1"/>
    <podtype name="UInt8" sign="u" size="1"/>
    <podtype name="Int16" sign="s" size="2"/>
    <podtype name="UInt16" sign="u" size="2"/>
    <podtype name="Int32" sign="s" size="4"/>
    <podtype name="UInt32" sign="u" size="4"/>
</def>

<def>
    <memory>
    <alloc>my_malloc</alloc>
    <dealloc>my_free</dealloc>
    </memory>
</def>
当我在Vim中使用Cppcheck时,如何告诉Cppcheck,对于当前文件,它应该使用哪个库?没有库,Cppcheck无法识别正确的风险

我用作Vim的插件。是否有其他方法可以在没有此插件的情况下启用Cppcheck工具

我还检查了主题。我认为它可以为我工作,但我没有找到这个库定义。关于上述话题,我的第一个猜测正在改变:

set makeprg=cppcheck\ --enable=all\ %

更多发现@

4.8。如何将其他参数传递给检查器

A.几乎所有语法检查器都使用makeprgBuild()函数。可以使用全局变量配置这些检查程序。全局参数变量的一般形式是syntastic___参数

因此,如果您想将
--my--args--here
传递给Ruby mri检查器,您可以将这一行添加到vimrc文件中:

let g:syntastic_ruby_mri_args = "--my --args --here"

请参阅
:帮助syntastic checker选项
,了解更多信息。

您需要告诉我们您使用什么插件来调用cppcheck。@Benjaminbanner,好的,我将在我的问题中添加一点,我使用
syntastic
,如果您的意思是要选择的
mycppcheck.cfg
文件取决于要检查的当前项目(甚至是当前文件),然后您可以使用众多插件中的一个。@luchermite,
mycppcheck.cfg
当然是用于cppcheck而不是用于vim。但是你想从vim使用它。现在的问题是:cppcheck配置文件的选择是否取决于要检查的文件,以及您关于如何获取确切的文件名并将其注入cppcheck调用的问题?
set makeprg=cppcheck\ --library=mycppcheck.cfg --enable=all\ %
let g:syntastic_ruby_mri_args = "--my --args --here"