我想将cppcheck的输出重定向到一个文本文件。它在stdout中打印了很多信息,但是如果我执行cppcheck --enable=all --verbose . > /srv/samba/share/tmp/cppcheck.out,我没有得到文件中的所有信息,为什么不呢?

最佳答案

cppcheck的最新开发版本包含一个新选项:

--output-file=<file name>

添加此选项可将输出定向到特定文件。

用法示例:

默认情况下,cppcheck将其结果打印到stdout:
$ cppcheck --enable=all test.cpp
  Checking test.cpp ...
  [test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
  (information) Cppcheck cannot find all the include files (use --check-config for details)

您可以如下使用选项--output-file将结果存储在report.txt中:
$ cppcheck --enable=all --output-file=report.txt test.cpp
Checking test.cpp ...

现在,结果存储在report.txt中:
$ more report.txt
[test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
(information) Cppcheck cannot find all the include files (use --check-config for details)

或者,您可以将输出重定向到文件:
$ cppcheck --enable=all test.cpp 2> report.txt
Checking test.cpp ...

现在,结果存储在report.txt中:
$ more report.txt
[test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
(information) Cppcheck cannot find all the include files (use --check-config for details)

关于linux - 如何将cppcheck的输出重定向到文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44420138/

10-14 08:30