C/C++中如何在main()函数之前执行一条语句?

在C语言中,如果使用GCC的话,可以通过attribute关键字声明constructor和destructor(C语言中如何在main函数开始前执行函数)

#include   
  
__attribute((constructor)) void before_main() { printf("%s/n",__FUNCTION__); } __attribute((destructor)) void after_main() { printf("%s/n",__FUNCTION__); } int main( int argc, char ** argv ) { printf("%s/n",__FUNCTION__); return 0; } 

在C++中,利用全局变量和构造函数的特性,通过全局变量的构造函数执行(C++语言怎么在main函数执行之前执行一段代码)

#include 
using namespace std; class TestClass { public: TestClass(); }; TestClass::TestClass() { cout<<"TestClass"<<endl; } TestClass Ts;//定义个全局变量,让类里面的代码在main之前执行 int main() { cout<<"main"<<endl; return 0; }

转载于:https://www.cnblogs.com/klcf0220/p/5663487.html

你可能感兴趣的:(C/C++中如何在main()函数之前执行一条语句?)