什么时候使用gcc标志-nostartfiles?

Mic*_*sky 9 gcc

我似乎无法弄清楚国旗的目的-nostartfiles.它可以防止main()被立即调用,通常你也可以指定程序入口点.但是,为什么我要这样做呢?我编写了一个需要它的内核,因为一切都由我来开始,但除此之外,是否有非操作系统的理由来指定不同的程序入口点?

yug*_*ugr 8

当您不希望链接任何标准库(如libc和libgcc)并运行标准初始化操作(如调用C++构造函数)时,可以使用-nostartfiles(和-nostdlib).典型的用例是编写内核或固件等系统软件.

  • 另一个用例是当您自己构建启动文件时。:) (3认同)