在c语言中主函数开头用了start()什么意思
3 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
准确地说是编译器为可执行文件加上了一个启动例程,ELF头部的入口地址就指向该启动例程,然后在启动例程中有下面一句:80482fc: e8 c3 ff ff ff call 80482c4 <__libc_start_main@plt>通过它调用C库的_libc_start_main,再调用我们的main由于main函数是被启动例程调用的,所以从main函数return时仍返回到启动例程中,main函数的返回值被启动例程得到,如果将启动例程表示成等价的C代码(实际上启动例程一般是直接用汇编写的),则它调用main函数的形式是:exit(main(argc, argv));
富国沪深
TA贡献1790条经验 获得超9个赞
执行start()这个该函数呗;
看这个函数风格一概是写程序的人自几定义的,叫这个名字的函数一般都是初始化一些参数、分配一些内存什么的准备工作。
c/c++内部定义的一些函数的话都会以_开头,类似于_start()这种。
- 3 回答
- 0 关注
- 961 浏览
添加回答
举报
0/150
提交
取消