depends用于测试程序运行所缺少的文件,可以帮我们很快找到问题
閱讀目錄(Content)
- 1.Depends
- 2.DUMPBIN
- 2.1 開(kāi)啟CMD
- 2.2 移動(dòng)目錄到C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin
- 2.3 運(yùn)行命令:VCVARS32.BAT
- 2.4 下面就可以調(diào)用dumpbin.exe命令了
在系統(tǒng)部署運(yùn)行時(shí)我們經(jīng)常發(fā)現(xiàn)某個(gè)程序在開(kāi)發(fā)機(jī)器中可以運(yùn)行,但是部署在某臺(tái)PC上缺不能運(yùn)行,也存在在某些機(jī)器上可運(yùn)行換一臺(tái)機(jī)器卻不能運(yùn)行。主要表現(xiàn)出兩種現(xiàn)象:
?????? (1)、運(yùn)行、調(diào)試時(shí)出現(xiàn)程序啟動(dòng)時(shí)報(bào)錯(cuò),提示出現(xiàn)錯(cuò)誤無(wú)法啟動(dòng)。
?? ? ? (2)、程序執(zhí)行數(shù)據(jù)庫(kù)查詢語(yǔ)句時(shí)直接跳過(guò),查詢函數(shù)調(diào)用時(shí)斷點(diǎn)也無(wú)法中斷。并且無(wú)執(zhí)行結(jié)果。
其實(shí)出現(xiàn)這樣的原因最主要是我們部署的程序缺少一些必要的運(yùn)行庫(kù)(注意庫(kù)的版本,同樣的庫(kù)如果版本不一致也可能出現(xiàn)題)。
回到頂部(go to top)1.Depends
Depends用來(lái)顯示與一個(gè)可執(zhí)行文件(exe或者dll)相關(guān)的依賴項(xiàng)(dll),以及該exe或dll引用了這些dll中的哪些接口。同時(shí)也可以看到每個(gè)被依賴的dll中的所有導(dǎo)出的函數(shù)接口。
該工具得到的是查看程序中隱式連接的Dll庫(kù),也就是用LIB關(guān)聯(lián)的Dll模塊,無(wú)法顯示由顯示連接的Dll模塊,也就是用LoadLibrary函數(shù)導(dǎo)入的Dll函數(shù)。
回到頂部(go to top)2.DUMPBIN
導(dǎo)出函數(shù)如下: 1 // open_www.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。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 開(kāi)啟CMD
2.2 移動(dòng)目錄到C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin
(DUMPBIN.EXE所在目錄)
2.3 運(yùn)行命令:VCVARS32.BAT
如果不運(yùn)行vcvars32.bat會(huì)出現(xiàn)以下提示
2.4 下面就可以調(diào)用dumpbin.exe命令了
如果導(dǎo)出函數(shù)前不加extern "C"
/*extern "C"*/_declspec (dllexport)int add(int a,int b)則顯示結(jié)果為:
來(lái)源:https://www.cnblogs.com/blueoverflow/p/4884744.html轉(zhuǎn)載于:https://www.cnblogs.com/fuhuo/p/11158869.html
總結(jié)
以上是生活随笔為你收集整理的depends用于测试程序运行所缺少的文件,可以帮我们很快找到问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 11系列
- 下一篇: 农行燃梦信用卡值得办理吗?权益、年费、额