我希望在这里收集有关在Windows,Linux和OSX上运行可执行文件时发生的情况。特别是,我想确切了解操作顺序:我的猜测是内核加载可执行文件格式(PE,ELF或Mach-O)(但我不知道ELF(可执行和可链接格式)的各个部分及其含义),然后动态链接器解析引用,然后运行可执行文件的
__init
部分,然后是主要部分,然后是__fini
,最后完成程序,但我确定这非常粗略,并且可能是错误的。
编辑:问题现在是CW。 我正在为Linux填充。 如果有人想做相同的Win和OSX,那就太好了。