zoukankan      html  css  js  c++  java
  • (转载)如何让一段程序在main函数之前执行

    (转载)http://blog.csdn.net/xuhongtao123459/article/details/5821706

    方法1:

    声明一个全局变量,或者全局对象,这个全局对象在man函数之前被执行。

    #include <iostream>
    
    using namespace std;
    
    class App
    {
    public:
        App() {cout << "I was born!" << endl;}
    };
    
    App a;
    
    int main(int argc, char** argv)
    {
        cout << "In main function!" << endl;
    
        return 0;
    }

    程序输出:

    方法2:

    #include <stdio.h>
    #include <stdlib.h>
    
    static void before(void) __attribute__((constructor));
    static void after(void) __attribute__((destructor));
    static void middle(void);
    
    static void before(void)
    {
        fprintf(stdout, "In %s %d\n", __func__, __LINE__);
    }
    
    static void after(void)
    {
        fprintf(stdout, "In %s %d\n", __func__, __LINE__);
    }
    
    static void middle(void)
    {
        fprintf(stdout, "In %s %d\n", __func__, __LINE__);
    }
    
    
    int main(int argc, char** argv)
    {
        atexit(middle);
    
        return 0;
    }

    程序输出:

  • 相关阅读:
    052-34
    052-33
    052-32
    052-31
    052-30
    052-28
    react组件之间通信
    排序算法
    点外卖
    js的各种排序算法
  • 原文地址:https://www.cnblogs.com/Robotke1/p/3076160.html
Copyright © 2011-2022 走看看