我想在这里收集在 Windows、Linux 和 OSX 上运行可执行文件时会发生什么。特别想了解一下具体的操作顺序:我的猜测是内核加载可执行文件格式(PE、ELF或Mach-O)(但我忽略了ELF的各个部分(Executable和Linkable Format)及其含义),然后你有解析引用的动态链接器,然后__init
运行部分可执行文件,然后是main,然后是__fini
,然后程序完成,但我相信它很粗糙,并且可能是错误的。
编辑:问题现在是CW。我正在为 linux 做准备。如果有人想为 Win 和 OSX 做同样的事情,那就太好了。