日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

cmake Debug模式和Release模式

發布時間:2024/4/11 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cmake Debug模式和Release模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在cmake中要編譯debug模式的話,在CMakeLists.txt中添加如下兩行 SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb ") SET(CMAKE_CXX_FLAGS_RELEASE "${ENV{CXXFLAGS} -O3 -Wall")
然后,在編譯的時候,使用如下命令: cmake -DCMAKE_BUILD_TYPE=Debug/Release ?path
第三個參數path是指項目的頂層路徑 ======================================================================== 1.? cmake支持gdb的實現,
首先在CMakeLists.txt下加入
SET(CMAKE_BUILD_TYPE "Debug")
在下面加入:
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
原因是CMake 中有一個變量 CMAKE_BUILD_TYPE ,可以的取值是 Debug Release RelWithDebInfo >和 MinSizeRel。
當這個變量值為 Debug 的時候,CMake 會使用變量 CMAKE_CXX_FLAGS_DEBUG 和 CMAKE_C_FLAGS_DEBUG 中的字符串作為編譯選項生成 Makefile;


2.? 在GDB中間加入程序啟動參數
比如我們需要調試一個可執行文件./a.out help
這時
$gdb ./a.out
進入到gdb的命令行模式下,然后:
(gdb) set args help
就能加上可執行文件需要的參數,如果要看argc[1]到argc[N]的參數,只需要
(gdb) show args

3. gdb中查看字符串,地址的操作,數據類型
比始有一個int型的變量i,相要知道他的相關信息,可以
(gdb) print i
打印出變量i的當前值
(gdb)x &i
與上面的命令等價。

如果有x命令看時,需要看一片內存區域,(如果某個地方的值為0,用x時會自動截斷了)
(gdb) x/16bx address
單字節16進制打印address地址處的長度為16的空間的內存,16表示空間長度,不是16進制,x表示16進制,b表示byte單字節

gdb看變量是哪個數據類型
(gdb) whatis i
即可知道i是什么類型的變量

------------------------------------------------


總結

以上是生活随笔為你收集整理的cmake Debug模式和Release模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。