.out文件是否包含针对特定处理器的指令集



我是C++编程的新手,在我们用gcc编译代码后,我只是好奇.out文件中到底有什么?

它是否包含程序运行的特定处理器的指令集?还是一系列的0和1?

谢谢你的帮助!

主体中的可执行文件(此类文件通常具有带有元信息和主体的"头"(仅包含0和1。这些位为目标平台(处理器(和数据编码指令(如果不使用交叉编译,则为自己的处理器编码指令集(。

您可以使用HEX编辑器(独立编辑器,VS代码的十六进制扩展名等(读取可执行文件。它显示"操作码"。操作码列表可以在处理器开发人员规范和文档中找到。x86平台的操作码示例可以在这里找到。

操作码

在上面的图像中,我选择了可执行文件中第一个有意义的操作码。它的意思是";在堆栈上推eBP处理器寄存器";。查一下这里的表格。

摘要:

  1. 通常,可执行文件包含0s和1s
  2. 这些0和1可以作为HEX操作码读取
  3. 您可以在规范中或仅在互联网上找到这些操作码的描述和相应的处理器指令描述

最新更新