main 函数执行以前以及以后,分别还会执行什么代码?
来源:互联网 发布:linux安装语言包 编辑:程序博客网 时间:2024/04/30 16:20
main函数执行之前,主要就是初始化系统相关资源:
1.设置栈指针
2.初始化static静态和global全局变量,即data段的内容
3.将未初始化部分的全局变量赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL,等等,即.bss段的内容
4.运行全局构造器,估计是C++中构造函数之类的吧
5.将main函数的参数,argc,argv等传递给main函数,然后才真正运行main函数
(1)全局对象的析构函数会在main函数之后执行;
(2)可以用_onexit 注册一个函数,它会在main 之后执行;
如果你需要加入一段在main退出后执行的代码,可以使用atexit()函数,注册一个函数。
语法:
#include <stdlib.h>
#include <stdio.h>
int atexit(void (*function")(void));
void fn1( void ), fn2( void ), fn3( void );
int main( void )
{
atexit(fn1);
atexit( fn2 );
printf( "This is executed first.
" );
}
void fn1()
{
printf( " This is
" );
}
void fn2()
{
printf( " executed next." );
}
结果:
This is executed first.
This is executed next.
- main 函数执行以前以及以后,分别还会执行什么代码?
- [C/C++] main函数执行前后还会发生什么
- main函数执行以前
- main之前会执行什么代码
- main函数之前会执行什么?
- 什么会在main函数之前执行
- c语言中在main函数之前会执行什么
- main()函数执行完后,还会调用执行其他的语句吗?
- java捕获到异常以后,后面的代码还会执行吗?
- java捕获到异常以后,后面的代码还会执行吗?
- C++面试题: main函数执行完之后还会调用其他的函数吗?
- C++面试题之 main函数执行完之后还会调用其他的函数吗?
- main函数之前执行代码
- main函数之前执行代码
- main ()函数执行完后是否会再执行一段代码?
- C语言main()主函数执行完毕后是否会再执行一段代码
- main主函数执行完毕后,是否会再执行一段代码?
- 面试例题4—main函数执行完毕后,是否会再执行一段代码
- vpn服务器搭建
- Linux修改时区不用重启的方法
- ddns服务器搭建
- 何谓"财政性收入"
- 微软开源CMS框架Orchard的搭建与使用
- main 函数执行以前以及以后,分别还会执行什么代码?
- 100 vim cammands
- 一个小的filezilla client编译错误,跟字符编码相关
- 前端开发攻城师绝对不可忽视的五个HTML5新特性
- 设置UITableViewCell选中的颜色
- 使用Windows上的Eclipse 远程调试 linux下的Tomcat
- C# COM 互操作注册的类型 编译警告或错误
- 位运算开方
- JS防止表单重复提交