标签: compiler-flags

优化级别-O3在g ++中是危险的吗?

我从各种来源(虽然大多数来自我的同事)中听到过,-O3用g ++ 的优化级别进行编译在某种程度上是"危险的",并且除非被证明是必要的,否则应该避免.

这是真的,如果是的话,为什么?我应该坚持-O2吗?

c++ optimization g++ compiler-flags

217
推荐指数
4
解决办法
10万
查看次数

C的有用GCC标志

除了设置-Wall和设置之外-std=XXX,还有什么其他真正有用的,但是在C中使用的知名度较低的编译器标志?

我对任何其他警告特别感兴趣,和/或在某些情况下将警告转换为错误,以绝对最小化任何意外类型不匹配.

c gcc compiler-flags

154
推荐指数
18
解决办法
6万
查看次数

如何查看哪些标志-march = native将激活?

我正在使用GCC 4.3编译我的C++应用程序.而不是手动选择我正在使用的优化标志-march=native,理论上应该添加适用于我正在编译的硬件的所有优化标志.但是我如何检查它实际使用的是哪些标志?

gcc g++ compiler-flags compiler-optimization

152
推荐指数
5
解决办法
8万
查看次数

编译时-pthread和-lpthread之间的差异

是什么区别gcc -pthreadgcc -lpthread它在编译多线程程序中使用?

multithreading gcc pthreads thread-safety compiler-flags

99
推荐指数
3
解决办法
5万
查看次数

如何在我不想编辑的第三方代码中禁用gcc中未使用的变量警告?

我想知道你传递给gcc编译器的什么开关来关闭未使用的变量警告?我在Windows上获得了错误,我不想触摸增强代码:

C:\boost_1_52_0/boost/system/error_code.hpp: At global scope:
C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable]
C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable]
C:\boost_1_52_0/boost/system/error_code.hpp:216:36: error: 'boost::system::native_ecat' defined but not used [-Werror=unused-variable]
Run Code Online (Sandbox Code Playgroud)

我尝试使用两者-Wunused-value,-Wno-unused-value但都没有压制上面的消息.

什么是正确的命令,这是我的编译行:

g++  -g -fno-inline -Wall -Werror -Wextra -Wfloat-equal -Wshadow
-Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wno-conversion 
-Wdisabled-optimization -Wredundant-decls -Wunused-value -Wno-deprecated 
-IC:\\boost_1_52_0 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 
-c -o op.o op.cpp
Run Code Online (Sandbox Code Playgroud)

也许这-Wall超越了我的目标?

c++ gcc compiler-flags compiler-warnings

83
推荐指数
6
解决办法
15万
查看次数

如何强制gcc内联函数?

是否__attribute__((always_inline))强制函数由gcc内联?

gcc inline compiler-flags

57
推荐指数
6
解决办法
5万
查看次数

CMake中的set_target_properties是否会覆盖CMAKE_CXX_FLAGS?

在我的CMake项目开始时,我在变量CMAKE_CXX_FLAGS中设置通用编译标志,就像

set(CMAKE_CXX_FLAGS "-W -Wall ${CMAKE_CXX_FLAGS}")
Run Code Online (Sandbox Code Playgroud)

稍后,我需要附加其他特定于配置的编译标志(存储在BUILD_FLAGS中).我可以使用以下命令:

set_target_properties(${TARGET} PROPERTIES COMPILE_FLAGS ${BUILD_FLAGS})
Run Code Online (Sandbox Code Playgroud)

或者我是否必须手动添加CMAKE_CXX_FLAGS:

set_target_properties(${TARGET} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BUILD_FLAGS}")
Run Code Online (Sandbox Code Playgroud)

防止BUILD_FLAGS覆盖CMAKE_CXX_FLAGS?

c++ cmake compiler-flags

56
推荐指数
2
解决办法
4万
查看次数

在项目中更改CMAKE_CXX_FLAGS

我在CMakeLists.txt中有以下内容:

project( Matfile )

SET ( CMAKE_CXX_FLAGS "-std=c++0x" )

set ( SOURCES
      "foo.cpp"
      "bar.cpp"
    )

add_library(
        Matfile
        ${SOURCES}
)
Run Code Online (Sandbox Code Playgroud)

您可能想象,我想要做的是使用标志-std = c ++ 0x编译我的C++源代码(我使用的是gcc,我需要C++ 11的功能).不幸的是,这不起作用,在我使用cmake生成makefile时,变量CMAKE_CXX_FLAGS完全无效.

如何在项目文件中设置此变量?

这似乎是一个非常愚蠢的问题,但我只花了不少于两个小时试图解决这个问题.

cmake compiler-flags

40
推荐指数
4
解决办法
7万
查看次数

38
推荐指数
1
解决办法
7790
查看次数

Xeon的gcc优化标志?

我想要你的输入哪些gcc编译器标志在优化Xeons时使用?

在mtune或march中没有'xeon',哪个是最接近的匹配?

c c++ optimization gcc compiler-flags

35
推荐指数
3
解决办法
4万
查看次数