你好,当一个人反汇编一些由 c 编译器编译的 win32 exe prog 时,它表明一些编译器在其中链接了一些“隐藏”的例程——我认为即使 c 程序是一个空的并且有 5 个字节左右。
我知道这样的 5 个字节包含在 PE .exe 格式中,但为什么要放置一些例程 - 这对我来说似乎没有必要,甚至有点让我烦恼。那是什么?可以省略吗?据我了解,c 程序(现在不是在谈论我知道有一些初始例程的 c++)不应该需要这种互补的隐藏函数。
很多 tnx 的答案,甚至可能是一些扩展的信息链接,因为这个话题让我很感兴趣
//编辑
好的,这是我当时做过的一些反汇编(数字火星和旧的 borland 命令行(我也已经测试过)都制作了更多的代码,(而且我对 bcc32 特别感兴趣)但它们在这种反汇编中不包含可读的名称/符号所以我不会在这里发布它们
这些是有点可读的——但我没有理解它是什么的经验;-)
https://dl.dropbox.com/u/42887985/prog_devcpp.htm
https://dl.dropbox.com/u/42887985/prog_lcc.htm
https://dl.dropbox.com/u/42887985/prog_mingw.htm
https://dl.dropbox.com/u/42887985/prog_pelles.htm
一些解释性评论这是什么?(恐怕这里可能有一些 c++ sh*t,虽然我对纯 c 插件而不是 c++ 感兴趣,但现在太累了,无法确保它是在 c 模式下编译的,编译后的 empty-main prog 的扩展是 c 所以我以为它将以c而不是c ++输出)
tnx 以获得更长的解释它是什么