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