为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕村225694 2019-02-14 15:11:41
在c语言中主函数开头用了start()什么意思
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

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

查看完整回答
反对 回复 2019-03-22
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-22
?
倚天杖

TA贡献1828条经验 获得超3个赞

程序编写者自己定义的函数。打开该函数的代码窥窥就明白它的功能和表示的意思。

查看完整回答
反对 回复 2019-03-22
  • 3 回答
  • 0 关注
  • 915 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信