在c语言中主函数开头用了start()什么意思?

在c语言中主函数开头用了start()什么意思


慕村225694
浏览 921回答 3
3回答

小怪兽爱吃肉

准确地说是编译器为可执行文件加上了一个启动例程,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));

慕的地8271018

执行start()这个该函数呗;看这个函数风格一概是写程序的人自几定义的,叫这个名字的函数一般都是初始化一些参数、分配一些内存什么的准备工作。c/c++内部定义的一些函数的话都会以_开头,类似于_start()这种。

倚天杖

程序编写者自己定义的函数。打开该函数的代码窥窥就明白它的功能和表示的意思。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

WebApp