我似乎无法弄清楚标志-nostartfiles
的用途。它可以防止立即调用 main()
,并且通常您还需要指定程序入口点。然而,我为什么要这么做呢?我已经编写了一个需要它的内核,因为一切都取决于我来开始,但除此之外,是否有非操作系统原因来指定不同的程序入口点?
最佳答案
当您不希望链接任何标准库(如 libc 和 libgcc)和标准初始化操作时,您可以使用 -nostartfiles
(和 -nostdlib
) ,就像调用C++构造函数一样,要运行。典型的用例是编写内核或固件等系统软件。
关于gcc - 何时使用 gcc 标志 -nostartfiles?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43050089/