如何轻松更改项目的默认编译器优化选项?

问题描述:

我现在是大学的二年级学生,几个月前刚开始学习编译器。我想知道什么工具可以使它更容易,如果我想启用-O3作为默认选项而不是-O1。如何轻松更改项目的默认编译器优化选项?

+0

为您的项目的限制提供更高的精度(已经使用CMake等构建工具?),并且您需要准确。 – N0un

+0

阅读有关makefile – bolov

要更改所有项目的全局编译器默认值,您必须在GCC安装期望的位置安装新的spec文件(例如,/usr/lib/gcc/x86_64-linux-gnu/6/specs)。请参阅GCC文档中的Spec Files。这可能会实现:

*cc1_options: 
+ %{!O*:-O3} 

*cc1plus_options: 
+ %{!O*:-O3} 

它使-O3如果没有-O选项设置。

请注意,这样做有可能会破坏很多构建系统,因为其中很少会预期默认启用-O3

这些方法实际上因构建系统和您选择的项目而异。如果你想要问题的具体答案,你可能需要命名你的构建系统或你正在开发的项目。

采取cmake的,例如,您可以使用下面修改C++编译选项

$ cmake -DCMAKE_CXX_FLAGS="-O1" ../src

及以下对于C

$ cmake -DCMAKE_C_FLAGS="-O1" ../src

如果你想快速的工具,你也可以使用Evaluate。这是一个简单的工具来改变你的选择和分析性能。