Architecture “instCount”销工具计数的说明是什么?

Architecture “instCount”销工具计数的说明是什么?,architecture,profiling,intel,instrumentation,intel-pin,Architecture,Profiling,Intel,Instrumentation,Intel Pin,我在基本C程序上运行pintool'instCount',主函数中的主体为空 int main{ } 当我在这个可执行程序上运行instCount时,它显示了大约86000条指令。即使程序很小,为什么要生成这么多指令?有什么想法吗 谢谢缺少的是,在幕后,我们做了大量的工作来帮助您达到执行主功能的程度。为了提供您期望的环境,运行时需要执行大量工作。例如: 必须加载和初始化库。 需要分配和初始化内部数据结构,例如动态内存分配器。 环境中有各种因素可能会改变运行时应有的方式。这需要检查并采取行动。 我

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

int main{

}

当我在这个可执行程序上运行instCount时,它显示了大约86000条指令。即使程序很小,为什么要生成这么多指令?有什么想法吗


谢谢

缺少的是,在幕后,我们做了大量的工作来帮助您达到执行主功能的程度。为了提供您期望的环境,运行时需要执行大量工作。例如:

必须加载和初始化库。 需要分配和初始化内部数据结构,例如动态内存分配器。 环境中有各种因素可能会改变运行时应有的方式。这需要检查并采取行动。
我列出的只是启动过程中发生的事情的一部分。在关机过程中也会发生类似的情况,这也会增加指令计数。

缺少的是,在幕后,我们做了大量的工作来让您达到执行主功能的程度。为了提供您期望的环境,运行时需要执行大量工作。例如:

必须加载和初始化库。 需要分配和初始化内部数据结构,例如动态内存分配器。 环境中有各种因素可能会改变运行时应有的方式。这需要检查并采取行动。
我列出的只是启动过程中发生的事情的一部分。关机期间也会发生类似的情况,这也增加了指令计数。

您能否详细介绍一下您正在谈论的环境。其次,尽管我没有包含任何头文件,但为什么它必须加载库。!?例如,在Unix中,一个名为LD_PRELOAD的环境变量可能意味着即使程序没有请求加载某些库,也需要加载它们。@ANTHONY我恐怕解释文件加载的复杂性有点超出了这个问题的范围。我建议您查看一下下面的链接,看看启动过程中会发生什么:在C中,头文件与库是否被加载无关,它们只是为了让编译器在当前正在编译的源文件之外的地方查看内容的定义。您能否详细介绍一下您正在谈论的环境。第二,尽管我没有包含任何头文件,但为什么它必须加载库呢。!?例如,在Unix中,一个名为LD_PRELOAD的环境变量可能意味着即使程序没有请求加载某些库,也需要加载它们。@ANTHONY我恐怕解释文件加载的复杂性有点超出了这个问题的范围。我建议您查看一下下面的链接,看看在启动过程中会发生什么:在C中,头文件与正在加载或未加载的库无关,它们只是让编译器在当前正在编译的源文件之外的地方查看内容的定义。