Tag: 编译器标志

什么是“DNS_BLOCK_ASSERTIONS”(C编译器标志)?

什么是“DNS_BLOCK_ASSERTIONS”(C编译器标志)?

CMake中的set_target_properties是否覆盖CMAKE_CXX_FLAGS?

在我的CMake项目开始时,我在variablesCMAKE_CXX_FLAGS中设置常规编译标志,就像 set(CMAKE_CXX_FLAGS "-W -Wall ${CMAKE_CXX_FLAGS}") 稍后,我需要附加其他特定于configuration的编译标志(存储在BUILD_FLAGS中)。 我可以使用以下命令: set_target_properties(${TARGET} PROPERTIES COMPILE_FLAGS ${BUILD_FLAGS}) 或者我必须手动添加CMAKE_CXX_FLAGS: set_target_properties(${TARGET} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} ${BUILD_FLAGS}") 防止CMAKE_CXX_FLAGS被BUILD_FLAGS覆盖?

你如何禁用未使用的variables警告从gcc出来?

我想知道你传递给gcc编译器的什么开关来closures未使用的variables警告? 我得到错误的窗口提升,我不想触摸升压代码: 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] 我试着使用-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 […]

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

我使用GCC 4.3编译我的C ++应用程序。 我没有手动select优化标志,而是使用-march=native ,理论上应该添加所有适用于我正在编译的硬件的优化标志。 但是,我怎样才能检查它实际使用哪个标志?

C的有用GCC标志

除了设置-Wall和设置-std=XXX ,还有哪些其他真正有用的,但较less知道的编译器标志在C中有用? 我特别感兴趣的任何额外的警告,和/或在某些情况下将警告转为错误,以绝对减less任何意外types的不匹配。

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

我已经从各种来源(尽pipe大部分来自我的一位同事)得知,在g++中编译-O3的优化级别是某种“危险的”,除非certificate是必要的,否则应该避免。 这是真的吗?如果是这样,为什么? 我应该坚持-O2吗?

我如何强制gcc内联一个函数?

__attribute__((always_inline))强制一个函数被gcc内联?

-pthread和-lpthread在编译时的区别

编译multithreading程序时使用的gcc -pthread和gcc -lpthread有什么区别?