我从多个渠道听说(尤其是我的一位同事),在g++中使用优化级别-O3进行编译某种程度上是“危险的”,通常情况下应该避免,除非有必要。 这是真的吗?如果是,为什么?我应该坚持使用-O2吗?
我正在使用GCC 4.3编译我的C++应用程序。为了避免手动选择优化标志,我正在使用-march=native,理论上应该添加适用于我所编译的硬件的所有优化标志。但是,我如何检查它实际使用的标志?
除了设置-Wall和设置-std=XXX之外,在C中还有哪些真正有用但不太知名的编译器标志可供使用? 我特别感兴趣的是任何其他的警告,以及在某些情况下将警告转换为错误,以尽可能地减少任何意外类型不匹配。
这篇文章 表示: -ansi:告诉编译器实现 ANSI 语言选项,关闭某些 GCC 不符合 ANSI 标准的“特性”。 -pedantic:与 -ansi 同时使用,严格遵守 ANSI 标准,拒绝任何不符合标准的代码。 首先明确: -pedantic 和 -ansi 选项是GCC/G++...
gcc -pthread和gcc -lpthread在编译多线程程序时有什么区别?
我想知道在gcc编译器中传递哪个开关可以关闭未使用变量的警告?我在Windows上使用boost时出现了错误,但我不想触碰boost代码: C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_...
有没有办法在C++中查看模板函数或类的编译器实例化代码? 假设我有以下代码: template < class T> T add(T a, T b){ return a+b; } 现在当我调用时 add<int>(10,2); 我希望能够查看编译...
在我的CMake项目开始时,我会将通用编译标志设置在变量CMAKE_CXX_FLAGS中,如下所示:set(CMAKE_CXX_FLAGS "-W -Wall ${CMAKE_CXX_FLAGS}") 接下来,我需要添加额外的特定于配置的编译标志(存储在BUILD_FLAGS中)。我可以使用以...
我在我的CMakeLists.txt中有以下内容: project( Matfile ) SET ( CMAKE_CXX_FLAGS "-std=c++0x" ) set ( SOURCES "foo.cpp" "bar.cpp" ) add_libra...