main之前和之后(可)执行哪些函数(操作)
2013-10-29 19:58
423 查看
main函数之后可以执行其他的函数吗?可以的。请看:
//thanks:http://technet.microsoft.com/zh-cn/library/aa298513
main之前了?其实也可以:
main函数执行之前,主要就是初始化系统相关资源:
1.设置栈指针
2.初始化static静态和global全局变量,即data段的内容
3.将未初始化部分的赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL,等等,即.bss段的内容
4.运行全局构造器,估计是C++中构造函数之类的
5.将main函数的参数,argc,argv等传递给main函数,然后才真正运行main
//thanks:
http://blog.163.com/getlee@126/blog/static/11695187120095291234914/
http://bbs.csdn.net/topics/300103318#r_78088969
#include <stdlib.h> #include <stdio.h> /* Prototypes */ int fn1(void), fn2(void), fn3(void), fn4 (void); void main( void ) { _onexit( fn1 ); _onexit( fn2 ); _onexit( fn3 ); _onexit( fn4 ); printf( "This is executed first.\n" ); } int fn1() { printf( "next.\n" ); return 0; } int fn2() { printf( "executed " ); return 0; } int fn3() { printf( "is " ); return 0; } int fn4() { printf( "This " ); return 0; } Output This is executed first. This is executed next.
//thanks:http://technet.microsoft.com/zh-cn/library/aa298513
main之前了?其实也可以:
main函数执行之前,主要就是初始化系统相关资源:
1.设置栈指针
2.初始化static静态和global全局变量,即data段的内容
3.将未初始化部分的赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL,等等,即.bss段的内容
4.运行全局构造器,估计是C++中构造函数之类的
5.将main函数的参数,argc,argv等传递给main函数,然后才真正运行main
//thanks:
http://blog.163.com/getlee@126/blog/static/11695187120095291234914/
http://bbs.csdn.net/topics/300103318#r_78088969
相关文章推荐
- C++中如何在main()函数之前执行操作
- C++中如何在main()函数之前执行操作?
- 多玩YY语音的面试题:C++中如何在main()函数之前执行操作?
- C++中如何在main()函数之前执行操作?
- 面试中那点超乎你想象的题目:C++中如何在main()函数之前执行操作?
- 面试题:C++中如何在main()函数之前执行操作?
- C++中如何在main()函数之前执行操作?
- 多玩YY语音的面试题:C++中如何在main()函数之前执行操作?
- C++中如何在main()函数之前执行操作?
- 在main函数之前和之后执行一些操作
- C/C++中如何在main()函数之前执行一条语句?
- main主函数执行完之后再执行其他代码的方法
- mian函数之前执行函数,和main函数之后执行函数
- 什么能在main()函数之前或之后执行
- 一个c程序在执行main函数之前和main之后都做了那些事情啊
- C++能不能在main之前执行自己的函数--答案是可以的
- [go] Socket创建之后,listen/connect之前无法执行操作?
- 在程序退出main()函数之后,还有可能执行一部分代码吗?
- 怎样在main()函数退出之后再执行一段代码?
- 让一个函数在main之前 或之后运行