为什么在空的C程序中执行的指令总数会发生变化?

时间:2019-06-10 10:21:49

标签: c profiling intel-pin

我一直在计算一个空的C程序使用Intel的Pin执行的指令。在大多数情况下,我的总指令数为118724,但有时总计数为118770。这是什么原因引起的?

代码运行: int main() {}

1 个答案:

答案 0 :(得分:0)

我觉得@Neitsa在他们对原始帖子的评论中回答了我的问题。我在这里引用它。

  

但是请注意,PIN在过程生命中开始得很早,因此它会开始检测系统加载程序正在做的所有事情(基本上在libc中)。您拥有两个不同指令数的事实可能是由于ELF加载代码中某个位置的if / else分支(取决于“ t”时间的系统状态)所致。如果您对此感到困扰,则可以根据需要将检测代码限制为您自己的二进制文件。