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;
}

posted @   不止所见  阅读(4716)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2013-07-12 S5PV210 看门狗定时和复位
2013-07-12 S5PV210 PWM定时器
2013-07-12 S5PV210中断体系
点击右上角即可分享
微信分享提示