首页 > 代码库 > 怎样使代码在main函数前执行,怎样使代码在main函数之后执行
怎样使代码在main函数前执行,怎样使代码在main函数之后执行
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
网上有说可以用
__attribute__ ((constructor)) 来让函数在main函数之前执行,
__attribute__ ((destructor)) 来让函数在main函数之后执行。
比如说像下面这样声明函数
void before(void) __attribute__ ((constructor)); void after(void) __attribute__ ((destructor)
不过这不是C/C++标准,它用GCC可能正常编译通过,但用其它的编译器不一定可以编译通过
在标准C/C++中
可以用global variable 或static variable来让代码在main函数之前执行
可以用atexit来让函数在main函数之后执行
#include <iostream> using namespace std; int before_main(){ cout << "before main" << endl; return 1; } static int a = before_main(); void after_main(){ cout << "after main" << endl; } int main(int argc, char *argv[]) { cout << "main" << endl; atexit(after_main); system("pause"); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。