c/c++的可执行文件的入口:
- 可执行程序的入口点是固定的,被保存在exe文件里面的,由crt决定。
windows是WinMainCRTStartup和mainCRTStartup,gcc是_start,这些入口函数会默认的去调用main或WinMain,调用main是可以修改的。
- 过程:在编译的最后一步链接阶段完成,windows调用link.exe,gcc调用ld,默认都会连接crt,这一步就把入口函数放在可执行文件里面。可以通过 ld -e mymain和Link.exe /entry:mymain修改
- Run可执行文件的时候,系统调用Loader,然后进入程序入口点昨晚只有初始化工作后,然后进入main。