C语言main的程序入口+汇编

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:07:37
main()
{
printf("%x\n",main);
}
显示1fa

然后我用debug 再用r命令查看,发现ip寄存器是0,并不是1fa,为什么会这样。
可能0至1fa放了程序说明,怎么具体查看这些东西,需要什么知识?

C语言编译成的执行文件,有很大的一个编译器生成的“外壳”的,这个外壳要对执行环境进行很多判定和初始化的。

在tc中,直接p约90多条代码(包括call之类)后才是真正汇编码。
在win下的vc中,那就不知到哪去了呢。

你用debug,只能看16位的,就是只能看看tc的,而且我建议你死了这心吧。
毕竟和纯汇编是完全不同的

main并不是最外面的函数,MAIN外面还有代码来调用MAIN的,这可能是由系统控制,你只要直接将IP定位到1FA再T就可进入MAIN函数了。
具体可参考王爽汇编第二版,最后的实验内容