?? 19.3.2 depends工具.txt
字號(hào):
19.3.2 Depends工具
為了查看一個(gè)可執(zhí)行模塊依賴的動(dòng)態(tài)鏈接庫(kù),除了利用上面介紹的 Dumpbin命令以外,還可以利用Visual Studio提供的一個(gè)圖形化工具: Depends來實(shí)現(xiàn)。讀者可以打開機(jī)器上的【開始飛程序\Microsoft Visual Studio 6.0\Microsoft Visual Studio 6.0 Tools】菜單,將會(huì)看到其中有一工具項(xiàng)是: Depends。該工具不僅能夠查看可執(zhí)行程序,還可以查看動(dòng)態(tài)鏈接庫(kù),主要是查看它們依賴于哪些動(dòng)態(tài)鏈接庫(kù)。
打開Depends工具,單擊該程序界面上的【File\Open...】菜單項(xiàng),將彈出打開文件對(duì)話框,在此對(duì)話框中找到 DllTest.exe文件所在目錄(筆者的目錄是: D:\VC I I深入編程 \CHARPTER19\DllTest\Debug),并選中該文件,然后單擊【打開】按鈕,這時(shí) Depends程序的界面如圖 19.10所示。
可以看到, Dl1Test程序需要訪問Dlll.dll這一動(dòng)態(tài)鏈接庫(kù),但是該文件名稱前面有一個(gè)問號(hào),這是因?yàn)镈epends工具在打開DllTest.exe時(shí),沒有找到Dl11.dl1這個(gè)動(dòng)態(tài)鏈接庫(kù)。
" ‘ I 711
第19
因?yàn)榍懊嫖覀儗⒃搫?dòng)態(tài)鏈接庫(kù)文件復(fù)制到"D:\VC++深入編程\C R19\Dll Test飛Debug"目錄的上一級(jí)目錄下了,即: "D:\VC++深入編程\CHARPTER19飛DllTest"目錄下。這里,我們可以將 Dlll.dll文件再?gòu)?fù)制到 "D:\VC++深入編程\C R19\ Dl1Test'\Debug"目錄下。然后關(guān)閉Depends工具,井重新利用該主具打開DllTest.exe文件。這時(shí),在Depends界面中可以看到Dlll.dll名稱前沒有問號(hào)了(如圖 19.11所示)。因?yàn)楝F(xiàn)在Dlll.dll文件與DllTest.exe這一可執(zhí)行程序位于同一目錄,在打開DllTest.exe文件時(shí),就可以找到該動(dòng)態(tài)鏈接庫(kù)了。
圖 19.11利用Depends工具查看DllTest程序的輸入信息(二〉
在如圖 19.11所示的Depends窗口中,左上方的窗格中顯示了DllTest應(yīng)用程序需要訪問的動(dòng)態(tài)鏈接庫(kù)名稱,當(dāng)選中其中的一個(gè)動(dòng)態(tài)鏈接庫(kù)時(shí),在該窗口右上方的窗格中就列出了該動(dòng)態(tài)鏈接庫(kù)中將被可執(zhí)行程序調(diào)用的函數(shù),例如在本例中,當(dāng)在Depends窗口左上方窗格中選中 "Dlll.Dll"后,在右上方窗格中就列出了該動(dòng)態(tài)鏈接庫(kù)中被DllTest程序調(diào)用
的 add和 subtract函數(shù)。應(yīng)用程序來說,并不需要調(diào)用一個(gè)動(dòng)態(tài)鏈接庫(kù)中的所有導(dǎo)出函數(shù),可以根據(jù)需要僅調(diào)用其
位于窗口右邊的中間窗格中列出了該動(dòng)態(tài)鏈接庫(kù)導(dǎo)出的函數(shù)。對(duì)
中的某些函數(shù)。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -