例如,当我有函数调用时,我遇到了64位的gcov版本5.2.0,较早的32位版本和版本4.9.2的问题:
//All int values and every argument in different line
doSomethink(x,
y,
z);
由于coverage工具的结果,我在最后一行得到一个“ 0”,因为此函数调用未被覆盖(我谈到了line coverage工具)。切换到64位后,出现问题-gcov生成三个“ 0”,结果每一行一个。当我更改代码格式并将所有参数放在一行时,我得到一个“ 0”。我不明白为什么会这样,为什么代码格式(在这种情况下为断行)更改了gcov输出。尽管代码格式已更改,该如何做才能获得相同的结果?