小编maj*_*jie的帖子

使用CMake设置CFLAGS和CXXFLAGS选项

我只想调试在Linux上运行的一些代码,我需要一个debug build(-O0 -ggdb).所以我把这些东西添加到我的CMakeLists.txt:

set(CMAKE_BUILD_TYPE DEBUG)
set(CMAKE_C_FLAGS "-O0 -ggdb")
set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_C_FLAGS_RELEASE "-O0 -ggdb")
set(CMAKE_CXX_FLAGS "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")
set(CMAKE_CXX_FLAGS_RELEASE "-O0 -ggdb")
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我在使用时变得冗长make VERBOSE=1 而且我观察了输出,就像这样

... /usr/bin/c++ -D_BSD_SOURCE **-O0 -ggdb** -Wnon-virtual-dtor 
-Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W 
-Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS 
-fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics 
-fvisibility=hidden -fvisibility-inlines-hidden **-g -O2** 
-fno-reorder-blocks -fno-schedule-insns -fno-inline ...
Run Code Online (Sandbox Code Playgroud)

显然代码是用编译的"-g -O2",这不是我想要的.我怎么能强迫它只使用"-O0 -ggdb"

cmake cflags

73
推荐指数
4
解决办法
15万
查看次数

关于linux信号的一些问题

  1. ( SIGRTMIN + 1) 对于进程间通信安全吗?在不同的过程中会发生变化吗?

  2. 标准信号和实时信号在使用sigqueue(2)或发送方面有什么区别吗? 如果我用来发送一系列(标准信号)并缓慢处理它们,队列中是否有多个实例?使用发送(实时信号) 怎么样?他们会排队吗?kill(2)
    sigqueue(2)SIGUSR1SIGUSR1
    kill(2)SIGRTMIN

linux signals

4
推荐指数
1
解决办法
2477
查看次数

标签 统计

cflags ×1

cmake ×1

linux ×1

signals ×1