码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中的main函数以及main函数是如何被调用的

时间:2017-07-24 00:05:37      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:个数   logs   指针   查看   执行文件   main   elf   int   例子   

main函数是C语言中比较特殊的函数,C程序总是从main函数开始执行,main函数的原型是:

1 int main(int argc, char *argv[]);

其中argc是命令行参数的个数,argv是指向参数的各个指针所构成的数组。

当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程(什么鬼?)。可执行程序文件将此启动例程指定为程序的起始地址——这是由连接编辑器设置的,而连接编辑器则是由C编译器调用。启动例程从内核取得命令行参数和环境变量值,然后为按上述方式调用main函数做好安排。

大概的过程就是如下图所示了:

技术分享

http://blog.csdn.net/sxh741/article/details/54970085这个链接中讲的还挺清楚的

http://www.cnblogs.com/findumars/p/6417932.html讲的是C++的main函数执行之前的做的事情

1、先来看一个简单的C程序(simple.c)作为例子讲解

2、编译

gcc -o simple simple.c

3、查看可执行文件的基本信息

objdump -f simple

4、什么是ELF

5、关于起始地址

 

C语言中的main函数以及main函数是如何被调用的

标签:个数   logs   指针   查看   执行文件   main   elf   int   例子   

原文地址:http://www.cnblogs.com/tuhooo/p/7226567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!