Z7 Zi ZI(除錯資訊格式)

2021-04-28 02:12:54 字數 1803 閱讀 2371

選擇為程式建立的除錯資訊的型別,並選擇是將此資訊儲存在物件 (.obj) 檔案還是程式資料庫 (pdb) 中。

/z

備註 下表描述了這些選項。

不產生任何除錯資訊,因此編譯較快。

/z7生成包含用於偵錯程式的完整符號除錯資訊的 .obj 檔案。符號除錯資訊包括變數的名稱和型別以及函式和行號。不會生成任何 .pdb 檔案。

對於第三方庫的發布者,不生成 .pdb 檔案是乙個優點。但是,在鏈結和除錯期間,用於預編譯頭的 .obj 檔案是必需的。如果 .pch 物件檔案中只有型別資訊(沒有**),則還必須使用 /yl(為除錯庫插入 pch 引用)

進行編譯。

/zi產生包含用於偵錯程式的型別資訊和符號除錯資訊的程式資料庫 (pdb)。符號除錯資訊包括變數的名稱和型別以及函式和行號。

/zi不影響優化。但是,/zi的確暗示了/debug;有關更多資訊,請參見 /debug(生成除錯資訊)

。型別資訊放置在 .pdb 檔案而不是 .obj 檔案中。

可以將 /gm(啟用最小重新生成)

/zi結合使用,但使用/z7編譯時不能使用/gm

使用/zi/clr編譯時,debuggableattribute

屬性將不會被放入程式集元資料中;如果要使用該屬性,則必須在源**中指定它。該屬性可影響應用程式的執行時效能。有關 debuggable 屬性如何影響效能以及如何減輕效能影響的更多資訊,請參見令映像更易於除錯

/zi以支援「編輯並繼續」功能的格式產生如上所述的程式資料庫。如果想使用「編輯並繼續」除錯,則必須使用此選項。因為大多數優化與「編輯並繼續」不相容,所以使用/zi會禁用**中的所有 #pragma optimize

語句。/zi會導致在編譯中使用 /gy(啟用函式級鏈結)

/zi與 /clr(公共語言執行庫編譯)

不相容。

說明:

/zi只可用於面向 x86 的編譯器中;此編譯器選項不可用於面向 x64 或 itanium 處理器系列 (ipf) 的編譯器中。

編譯器將程式資料庫命名為 專案.pdb。如果編譯沒有專案的檔案,則編譯器將建立名為 vcx0.pdb. 的資料庫,其中 x 是正在使用的 visual c++ 的主版本。編譯器將 pdb 的名稱嵌入每個使用此選項建立的 .obj 檔案中,從而使偵錯程式了解符號和行號資訊的位置。當使用此選項時,.obj 檔案將較小,因為除錯資訊儲存在 .pdb 檔案中而不是 .obj 檔案中。

如果從使用此選項編譯的物件建立庫,則在將庫鏈結到程式時,關聯 .pdb 檔案必須可用。因此,如果發布此庫,就必須發布 pdb。

若要不使用 .pdb 檔案建立包含除錯資訊的庫,必須選擇編譯器的 c 7.0 相容 (/z7) 選項。如果使用預編譯頭選項,則預編譯頭和其他源**的除錯資訊都放在 pdb 中。指定了「程式資料庫」選項時將忽略/yd選項。

開啟此專案的「屬性頁」對話方塊。有關詳細資訊,請參見如何:開啟專案屬性頁

。單擊「c/c++」資料夾。

單擊「常規」屬性頁。

修改「除錯資訊格式」屬性。

7z解壓命令

支援 7z,zip,zip64,cab,rar,arj,gzip,bzip2,tar,cpio,rpm,iso,deb 壓縮檔案格式 安裝 sudo apt get install p7zip p7zip full p7zip rar 這條命令是將yajiu.jpg和yajiu.png壓縮成乙個7z...

linux下安裝7z命令及7z命令的使用

本文主要介紹了在linux下安裝7z命令的方法,同時介紹了7z命令的使用。7z壓縮格式擁有眾多優點,具有極高的壓縮比率,如果你還不了解,請看文章 7z格式 lzma壓縮演算法和7 zip詳細介紹。reille使用的linux發行版是ubuntu,同時在redhat上業已驗證,可正常使用。1.linu...

Linux下安裝7z命令及7z命令的使用

本文主要介紹了在linux下安裝7z命令的方法,同時介紹了7z命令的使用。7z壓縮格式擁有眾多優點,具有極高的壓縮比率,如果你還不了解,請看文章 7z格式 lzma壓縮演算法和7 zip詳細介紹。reille使用的linux發行版是ubuntu,同時在redhat上業已驗證,可正常使用。如果你的宿主...