C/C++ 程序有什么方法可以在 main() 之前崩溃吗?

2022-01-12 00:00:00 function c crash c++

有什么方法可以在 main() 之前让程序崩溃吗?

Is there any way a program can crash before main()?

推荐答案

使用 gcc,您可以使用 构造函数属性(导致函数在 main 之前运行).在下面的函数中,premain会在main之前被调用:

With gcc, you can tag a function with the constructor attribute (which causes the function to be run before main). In the following function, premain will be called before main:

#include <stdio.h>

void premain() __attribute__ ((constructor));

void premain()
{
    fputs("premain
", stdout);
}

int main()
{
    fputs("main
", stdout);
    return 0;
}

因此,如果 premain 中存在崩溃错误,您将在 main 之前崩溃.

So, if there is a crashing bug in premain you will crash before main.

相关文章