C/C++中如何在main()函數之前執行一條語句?


在C語言中,如果使用GCC的話,可以通過attribute關鍵字聲明constructor和destructor(C語言中如何在main函數開始前執行函數

#include <stdio.h> __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 <Iostream> using namespace std; class TestClass { public: TestClass(); }; TestClass::TestClass() { cout<<"TestClass"<<endl; } TestClass Ts;//定義個全局變量,讓類里面的代碼在main之前執行 int main() { cout<<"main"<<endl; return 0; }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM