oclint-json-compilation-database指南

官网原文

翻译一下:

【oclint-json-compilation-database指南】:

  针对一组源代码文件运行OCLint的一个辅助性的程序。不是在OCLint运行时为每一个要检测的文件指定编译器标志,而是这些编译器标志被收集,并以JSON数据库格式,持续保存到compile_commands.json文件中
  oclint-json-compilation-database可以从compile_commands.json获取到必要的信息,而且在代码分析的钩子驱动下,使用这些编译器标志开始执行OCLint。同样的,也有一些可选参数:

Filter选项

[-i INCLUDES, -include INCLUDES, –include INCLUDES]
  从compile_commands.json提取文件的匹配模式或之前的匹配结果。
[-e EXCLUDES, -exclude EXCLUDES, –exclude EXCLUDES]
  移除从compile_commands.json提取文件的匹配模式或之前的匹配结果。
  有时候,我们可能对定义在compile_commands.json中的代码库中的一个子集感兴趣,而且想去检查这些代码。为了做这样的检查,我可以使用过滤选项获取这部分子集。由于oclint-json-compilation-database是用python编写的,所以匹配模式需要遵从Python正则表达式的语法。除此之外,多个过滤器可以关联起来去获取将要检查分析的文件集合。
例如,如果像Debug.m、Port.m这些测试文件(保存在Test文件夹下),在代码检查过程中需要被过滤掉,可以尝试下面的命令或者类似的命令:

oclint-json-compilation-database -e Debug.m -e Port.m -e Test
OCLint选项

  之前我们说我们可以改变OCLint,确实,执行OCLint时我们可以调用oclint-json-compilation-database执行这些选项。
  因为所有编译器选项都定义在compile_commands.json文件中,所以我们不需要告诉OCLint这些编译器选项。同样的,OCLint可选项可以通过--分隔符附加到oclint-json-compilation-database命令后:

oclint-json-compilation-database [ ... ] -- [oclint options]
Debug选项

[-v]
  使用参数显示调用命令。
[-debug]
  在debug模式下启用OClint:
  根据我们对所有过滤器和oclint选项的设置,oclint-json-compilation-database生成具有相应选项的oclint命令,然后帮我们调用oclint。Debug选项-v输出最终oclint调用的命令,对于调试阶段很有用处,因为我们一旦直接在控制台运行生成oclint命令,我们就可以使用oclint-json-compilation-database获取完全相同的结果。
  除此之外,如果oclint再debug模式下运行,-debug会输入更多oclint的调用信息。这些oclint的调用信息可以在oclint分析的整个过程中帮我们理解oclint的运行。需要注意的是,一定要开启debug模式。

你可能感兴趣的:(oclint-json-compilation-database指南)