DEPENDS工具和DUMPBIN工具使用
在系統(tǒng)部署運行時我們經(jīng)常發(fā)現(xiàn)某個程序在開發(fā)機器中可以運行,但是部署在某臺PC上缺不能運行,也存在在某些機器上可運行換一臺機器卻不能運行。主要表現(xiàn)出兩種現(xiàn)象:
?????? (1)、運行、調試時出現(xiàn)程序啟動時報錯,提示出現(xiàn)錯誤無法啟動。
?? ? ? (2)、程序執(zhí)行數(shù)據(jù)庫查詢語句時直接跳過,查詢函數(shù)調用時斷點也無法中斷。并且無執(zhí)行結果。
其實出現(xiàn)這樣的原因最主要是我們部署的程序缺少一些必要的運行庫(注意庫的版本,同樣的庫如果版本不一致也可能出現(xiàn)題)。
1.Depends
Depends用來顯示與一個可執(zhí)行文件(exe或者dll)相關的依賴項(dll),以及該exe或dll引用了這些dll中的哪些接口。同時也可以看到每個被依賴的dll中的所有導出的函數(shù)接口。
該工具得到的是查看程序中隱式連接的Dll庫,也就是用LIB關聯(lián)的Dll模塊,無法顯示由顯示連接的Dll模塊,也就是用LoadLibrary函數(shù)導入的Dll函數(shù)。
2.DUMPBIN
導出函數(shù)如下: 1 // open_www.cpp : 定義控制臺應用程序的入口點。 2 #include <stdio.h> 3 #include <stdlib.h> 4 extern "C"_declspec (dllexport)int add(int a,int b) 5 { 6 return a+b; 7 } 8 int main(void) 9 { 10 int c=0; 11 c=add(1,4); 12 printf("c=%d\n",c); 13 return 0; 14 }2.1 開啟CMD
2.2 移動目錄到C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin
(DUMPBIN.EXE所在目錄)
2.3 運行命令:VCVARS32.BAT
如果不運行vcvars32.bat會出現(xiàn)以下提示
2.4 下面就可以調用dumpbin.exe命令了
如果導出函數(shù)前不加extern "C"
/*extern "C"*/_declspec (dllexport)int add(int a,int b)則顯示結果為:
轉載于:https://www.cnblogs.com/blueoverflow/p/4884744.html
總結
以上是生活随笔為你收集整理的DEPENDS工具和DUMPBIN工具使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下各权限的细分
- 下一篇: GeoHash资料