您的观点是正确的,一个可执行文件有多个部分或段:但并不是所有的都是代码。通常会有一个用于代码的段 - 在 ELF 和 PE 中,这通常被称为 .text。还有其他一些段用于存储动态链接数据、硬编码字符串、只读数据、全局变量等等。如果您想亲自了解这些,而不是查看 Wiki 和 Google,请尝试实践:在 Windows 中:您可以使用名为 DUMPBIN.EXE 的工具,它是 Visual Studio 的一部分。如果您无法使用该工具,可以使用 Dependency Walker(可免费下载)。这将解析 PE 和 PE32+(即 64 位)文件。在 Linux 中:对于 ELF 文件,请使用 objdump -x 或 readelf(两者基本相同,但选项略有不同)。在 Mac 中:请使用 otool -l 来查看 Mach-O 文件中的加载命令(这将显示段和部分)。使用任何一个或所有工具都有望让您更好地了解事物是如何工作的。希望这能帮到您,TG
Windows使用可移植可执行格式(Portable Executable format)。*nix通常使用可执行与可链接格式(Executable and Linkable Format)。此前,一些系统使用SOM、a.out、ECOFF、XCOFF、COFF等格式。OS X和iOS(以及NeXT,历史迷们)使用Mach-O格式。PowerPC系统仍支持首选可执行格式(Preferred Executable Format),这种格式曾用于早期的Mac OS和某些形式的BeOS。您可以先参考http://en.wikipedia.org/wiki/Comparison_of_executable_file_formats。