激情五月播播久久久精品_国产激情偷乱视频一区二区三区_国产一区二区看久久_亚洲欧美成人网

當前位置: 首頁 >> 業界 >
【Visual Leak Detector】源碼編譯 VLD 庫_世界微頭條
來源:博客園     時間:2023-04-24 08:23:57
說明

使用 VLD 內存泄漏檢測工具輔助開發時整理的學習筆記。本篇介紹 VLD 源碼的編譯。同系列文章目錄可見 《內存泄漏檢測工具》目錄

目錄說明1. VLD 庫的依賴文件2. 源碼編譯生成 VLD 庫3. 配置環境變量4. 使用 VLD 庫1. VLD 庫的依賴文件

vld2.5.1版本為例,下載源碼 后,源碼包中各文件的用途可看本人另一篇博客 【VLD】源碼文件概覽。使用 vld2.5.1-setup.exe安裝 VLD時(可參考 【VLD】安裝 VLD),安裝目錄結構如下:


(資料圖片僅供參考)

D:\Program Files (x86)\Visual Leak Detector│  AUTHORS.txt│  CHANGES.txt│  COPYING.txt│  unins000.dat│  unins000.exe│  vld.ini│├─bin│  ├─Win32│  │      dbghelp.dll│  │      Microsoft.DTfW.DHL.manifest│  │      vld_x86.dll│  │      vld_x86.pdb│  ││  └─Win64│          dbghelp.dll│          Microsoft.DTfW.DHL.manifest│          vld_x64.dll│          vld_x64.pdb│├─include│      vld.h│      vld_def.h│└─lib    ├─Win32    │      vld.lib    │    └─Win64            vld.lib

除了 unins000.datunins000.exe外,一共 16個文件。查看源碼包中的文件 .\setup\vld-setup.iss 第 44~59 行,可知這 16個文件的來源:

[Files]Source: "dbghelp\x64\dbghelp.dll"; DestDir: "{app}\bin\Win64"; Flags: ignoreversionSource: "dbghelp\x64\Microsoft.DTfW.DHL.manifest"; DestDir: "{app}\bin\Win64"; Flags: ignoreversionSource: "dbghelp\x86\dbghelp.dll"; DestDir: "{app}\bin\Win32"; Flags: ignoreversionSource: "dbghelp\x86\Microsoft.DTfW.DHL.manifest"; DestDir: "{app}\bin\Win32"; Flags: ignoreversionSource: "..\src\bin\Win32\Release-v140\vld.lib"; DestDir: "{app}\lib\Win32"; Flags: ignoreversionSource: "..\src\bin\Win32\Release-v140\vld_x86.dll"; DestDir: "{app}\bin\Win32"; Flags: ignoreversionSource: "..\src\bin\Win32\Release-v140\vld_x86.pdb"; DestDir: "{app}\bin\Win32"; Flags: ignoreversionSource: "..\src\bin\x64\Release-v140\vld.lib"; DestDir: "{app}\lib\Win64"; Flags: ignoreversionSource: "..\src\bin\x64\Release-v140\vld_x64.dll"; DestDir: "{app}\bin\Win64"; Flags: ignoreversionSource: "..\src\bin\x64\Release-v140\vld_x64.pdb"; DestDir: "{app}\bin\Win64"; Flags: ignoreversionSource: "..\src\vld.h"; DestDir: "{app}\include"; Flags: ignoreversionSource: "..\src\vld_def.h"; DestDir: "{app}\include"; Flags: ignoreversionSource: "..\vld.ini"; DestDir: "{app}"; Flags: ignoreversionSource: "..\AUTHORS.txt"; DestDir: "{app}"; Flags: ignoreversionSource: "..\CHANGES.txt"; DestDir: "{app}"; Flags: ignoreversionSource: "..\COPYING.txt"; DestDir: "{app}"; Flags: ignoreversion
【文件 1】安裝目錄文件 AUTHORS.txt來自于源碼根目錄下同名文件。【文件 2】安裝目錄文件 CHANGES.txt來自于源碼根目錄下同名文件。【文件 3】安裝目錄文件 COPYING.txt來自于源碼根目錄下同名文件。【文件 4】安裝目錄文件 vld.ini來自于源碼根目錄下同名文件。【文件 5】安裝目錄文件 .\include\vld.h來自于源碼目錄 .\src下同名文件。【文件 6】安裝目錄文件 .\include\vld_def.h來自于源碼目錄 .\src下同名文件。【文件 7】安裝目錄文件 .\bin\Win64\dbghelp.dll來自于源碼目錄 .\setup\dbghelp\x64下同名文件。【文件 8】安裝目錄文件 .\bin\Win64\Microsoft.DTfW.DHL.manifest來自于源碼目錄 .\setup\dbghelp\x64下同名文件。【文件 9】安裝目錄文件 .\bin\Win32\dbghelp.dll來自于源碼目錄 .\setup\dbghelp\x86下同名文件。【文件 10】安裝目錄文件 .\bin\Win32\Microsoft.DTfW.DHL.manifest來自于源碼目錄 .\setup\dbghelp\x86下同名文件。【文件 11】安裝目錄文件 .\bin\Win64\vld_x64.dllVisual Studio 2015Releasex64模式編譯源碼生成。【文件 12】安裝目錄文件 .\bin\Win64\vld_x64.pdbVisual Studio 2015Releasex64模式編譯源碼生成。【文件 13】安裝目錄文件 .\lib\Win64\vld.libVisual Studio 2015Releasex64模式編譯源碼生成。【文件 14】安裝目錄文件 .\bin\Win32\vld_x86.dllVisual Studio 2015ReleaseWin32模式編譯源碼生成。【文件 15】安裝目錄文件 .\bin\Win32\vld_x86.pdbVisual Studio 2015ReleaseWin32模式編譯源碼生成。【文件 16】安裝目錄文件 .\lib\Win32\vld.libVisual Studio 2015ReleaseWin32模式編譯源碼生成。2. 源碼編譯生成 VLD 庫

使用 Visual Studio 2015打開源碼根目錄下的 vld_vs14.sln或者 vld_vs14_wo_mfc.sln,當僅用于生成 VLD庫時,這兩個解決方案的生成結果是一樣的,詳見本人另一篇博客 【VLD】源碼文件概覽。打開后,下拉構建配置框,可以看到有 6種配置可供選擇:DebugDebug_StaticCrtDebug_VldReleaseDebug_VldRelease_StaticCrtReleaseRelease_StaticCrt,他們的區別在于鏈接的運行庫版本不同(詳見 項目屬性 -> C/C++ -> 代碼生成 -> 運行庫),以及是否啟用優化。

打開 配置管理器,下拉查看不同的 活動解決方案配置,發現除 DebugDebug_StaticCrt模式外,其余 4種配置下 vld的配置都為 Release。因此解決方案的配置選項選擇除 DebugDebug_StaticCrt外的 4種都可以,不妨選擇 Release

按下圖步驟操作,生成 Win32平臺下的 VLD庫及 pdb文件。

同樣地,按下圖步驟操作,生成 Win64平臺下的 VLD庫及 pdb文件。

在生成目錄 .\src\bin\Win32\Release-v140下可以找到對應的 3個文件:

同樣地,在生成目錄 .\src\bin\x64\Release-v140下可以找到 Win64平臺的 3個文件:

至此,VLD安裝目錄下的 16個文件已經全部具備,可以開始使用了。

3. 配置環境變量

由于沒有使用 vld2.5.1-setup.exe安裝器,環境變量還需要自己來手動配置,將以上 16個文件整理到一個目錄下,最好依據前面的安裝目錄結構來進行整理,然后手動修改系統變量 Path,增加對應的 Win32版本路徑與 Win64版本路徑,例如:

D:\Program Files (x86)\Visual Leak Detector\bin\Win32D:\Program Files (x86)\Visual Leak Detector\bin\Win64
4. 使用 VLD 庫

VLD庫的使用方式可參考本人同系列文章:

在 VS 2015 中使用 VLD。在 QT 中使用 VLD(方式一)。這一種使用方式的缺點是,當把項目拷貝到別的電腦上編譯運行時,需要按特定流程重新配置 VLD 環境。但優點是在一臺電腦上配置完成后,用的時候十分方便,包含頭文件就可以使用,不需添加任何多余的代碼。在 QT 中使用 VLD(方式二)。這一種使用方式的特點是,在一臺電腦上安裝完成后,需在項目 pro文件中指明庫及頭文件的路徑,然后在 mian.cpp文件中 #include "vld.h"。當把項目拷貝到別的電腦上編譯運行時,需要確保該電腦已經具備了 VLD 環境,并更改項目 pro文件中指明的相關路徑。在 QT 中使用 VLD(方式三)。這一種使用方式的特點是,在一臺電腦上安裝完成后,將 VLD 安裝目錄下的 lib 庫及 include 文件拷貝到項目目錄中,在項目 pro文件中指明庫及頭文件的路徑,并將 vld.ini文件和 VLD 安裝目錄 bin 文件夾下的全部文件拷貝到項目生成目錄下,最后在 mian.cpp文件中 #include "vld.h"。優點是,當把項目拷貝到別的電腦上編譯運行時,該電腦無需安裝 VLD,也不需要更改任何代碼。
標簽:
推薦新聞 +
猜您喜歡 +
主站蜘蛛池模板: 国产成人在线精品| 国产精品激情av电影在线观看| 日韩精品福利片午夜免费观看| 欧美激情精品久久久久久黑人| 成人中文字幕av| 精品国偷自产在线视频99| 日本不卡一区二区三区在线观看 | 精品欧美日韩| 日本高清视频一区二区三区| 97精品国产97久久久久久| 国产精品美女在线观看| 国产日韩在线看片| 国产日韩欧美精品在线观看| 好吊色欧美一区二区三区视频| 久久精品国产亚洲精品2020| 久久国产精品高清| 久久精品国产精品亚洲精品色| 久久久久高清| 久久av喷吹av高潮av| 久久本道综合色狠狠五月| 欧美激情中文网| 欧美大片欧美激情性色a∨久久 | 久热国产精品视频| 欧美 日韩 国产精品| 久久免费精品视频| 九九久久九九久久| 国产精品视频中文字幕91| 国产精品日韩在线观看| 国产精品久久久久福利| 国产精品视频色| 在线播放 亚洲| 亚洲精品免费av| 青青久久av北条麻妃黑人| 欧美精品一本久久男人的天堂| 欧美激情一级欧美精品| 激情小说综合区| www.色综合| 日韩免费中文字幕| 两个人的视频www国产精品| 国产日韩欧美日韩大片| 在线免费一区|