我了解两个编译器标志:-ftest-coverage -fprofile-arcs需要传递以获取GCC中的代码覆盖率。我的问题是,拥有2个编译器标志来覆盖的原因是什么?另外,如果我们独立使用它们会得到什么?
我尝试仅使用-fprofile-arcs标志来编译ac程序。我没有发现任何差异。能够生成.gcno .gcda和gcov文件
如果您查看文档,-fprofile-arcs
将会发现它生成的数据可用于两种不同的东西,具体取决于其他选项:-ftest-coverage
和-fbranch-probabilities
。
因此,-fprofile-arcs
将生成用于执行检测并保存数据的代码。然后,根据要执行的分析,使用-ftest-coverage
或-fbranch-probabilities
来对数据进行专业化处理。
它没有在任何地方说,但是从您的经验来看,似乎GCC默认为-ftest-coverage
不提供任何专业化标志。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句