- C++中,全局对象的构造函数在main之前运行,析构函数在main之后运行。
- 类静态变量的初始化在main之前,静态函数不行
1 | class Base |
运行结果:1
2
3
4基类构造
get()
main
基类析构
gcc中使用attribute关键字,声明constructor和destructor函数:1
2
3
4
5
6
7__attribute__((constructor)) void before_main() {
printf("before main\n");
}
__attribute__((destructor)) void after_main() {
printf("after main\n");
}