1

我在基本 C 程序上运行 pintool 'instCount',主函数中的主体为空。

int main() {

}

当我在这个程序可执行文件上运行 instCount 时,它显示了大约 86000 条指令。即使程序很小,为什么会生成这么多指令..??知道吗??

谢谢

4

1 回答 1

4

缺少的是,在幕后做了很多工作来让您到达执行 main() 函数的地步。运行时需要执行大量工作才能提供您期望的环境。例如:

  • 必须加载和初始化库。
  • 需要分配和初始化内部数据结构(例如动态内存分配器)。
  • 环境中有各种因素可能会改变运行时的方式。这需要检查并采取行动。

我列出的只是启动过程中发生的事情的一个非常部分的列表。关机期间会发生类似的事情,这也会增加指令计数。

于 2016-01-07T16:15:11.330 回答