什么能在main()函数之前或之后执行

C/C++   main()主函数执行前和执行后还能运行其它的吗?

答案: 可以

例如:

#include<iostream>
#include<string>
using namespace std;
string str="预备......";
cout<<str<<endl;
int fn1()
{
 cout<<"中间"<<endl;
 return 0;
}
int main()
{
 cout<<"开始"<<endl;
 _onexit(fn1);
 cout<<"结束"<<endl;
 return 0;
}
全局变量在编译期间就已经执行了,而经过 _onexit注册的函数会在main()执行完后执行。  全局变量在main()函数调用之后,就开始分配内存;静态变量则在main()函数之前就已经初始化了。

运行结果:

posted on 2011-07-19 09:56  原来...  阅读(755)  评论(0编辑  收藏  举报

导航