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

Is there any way a C/C++ program can crash before main()?(C/C++ 程序有什么方法可以在 main() 之前崩溃吗?)

本文介绍了C/C++ 程序有什么方法可以在 main() 之前崩溃吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有什么方法可以在 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.

这篇关于C/C++ 程序有什么方法可以在 main() 之前崩溃吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:C/C++ 程序有什么方法可以在 main() 之前崩溃吗?

基础教程推荐