默认情况下将一些标志添加到gcc(最好使用specs文件)

时间:2012-04-18 00:39:08

标签: gcc g++

我想让我的gcc默认添加一些标记,是否有一种干净的方法可以做到这一点?

基本上我每次调用gcc时都会传递一些标志,例如(但不限于)-g(因此它有调试信息)。

有几种解决方法,但它们很难看:

  1. alias g++=...,但我不喜欢这种做法;
  2. 编写一个包含g ++的脚本,类似于1;
  3. ...
  4. 我更愿意修改specs文件,以便一切都是无缝的。

2 个答案:

答案 0 :(得分:8)

运行strace gcc | grep specs以查看其搜索规范文件的位置,然后转到此处并运行gcc -dumpspecs > specs。您现在已准备好要编辑的specs文件。使用此参考:https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html

答案 1 :(得分:1)

修改specs文件的麻烦在于你改变了对某些选项的想法,你无法从命令行取消它;你必须去修改specs文件。升级编译器时,还必须记住重新编码新的specs文件。

此外,您多久从命令行运行编译器?我知道,我唯一一次直接这样做是因为我需要暂时破解一个命令行而且我无法解决如何修复makefile中的编译器选项,所以我从中复制编译行输出make然后运行编译器。 alias的一个问题是它无法在makefile内使用。因此,对我来说,问题将减少,以确保在每个makefile中使用编译器选项。