最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解VS2019 dumpbin查看DLL的導(dǎo)出函數(shù)

 更新時(shí)間:2020年08月05日 09:49:59   作者:Mr_L_Y  
這篇文章主要介紹了詳解VS2019 dumpbin查看DLL的導(dǎo)出函數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

之前有人問過ViewDLL這些軟件在哪下載。實(shí)際上使用VS就可以查看DLL的導(dǎo)出接口。

1.先打開VS內(nèi)部的Power Shell

2.打開以后應(yīng)該如下圖所示,首先輸入dumpbin查看下用法:

3.使用 /Exports 參數(shù)查看DLL的導(dǎo)出函數(shù)符號(hào)

順便再講下關(guān)于調(diào)用約定和函數(shù)符號(hào)的關(guān)系,即_stdcall,_cdecl.還有就是extern "c"對(duì)函數(shù)名符號(hào)的影響。

上面的Dll1.dll的導(dǎo)出頭文件如下:

#pragma once

extern "C" {
	//extern "C" + _stdcall,函數(shù)導(dǎo)出符號(hào)為 _CreateNativeManager@0 : _+函數(shù)名+@+傳參字節(jié)數(shù)
	//由于_stdcall是被調(diào)用方清理堆棧,所以函數(shù)符號(hào)里面包含了傳參的信息
	_declspec(dllexport) NativeManager* _stdcall CreateNativeManager();
	_declspec(dllexport) void _stdcall ReleaseNativeManager();
	_declspec(dllexport) void(_stdcall ExSetLogHandler)(LogHandler handler);
	//extern "C" + _cdecl,函數(shù)導(dǎo)出符號(hào)為 ReleaseNativeManager2 : 函數(shù)名 
	//由于_cdecl是調(diào)用方清理堆棧,所以只需要函數(shù)名就可以
	_declspec(dllexport) void(_cdecl ReleaseNativeManager2)();
}
//不使用extern的情況下,是C++的導(dǎo)出方式,函數(shù)符號(hào)如下:
//?ReleaseNativeManager1@@YGXH@Z : ?+函數(shù)名+@@YG+返回類型+參數(shù)1類型...+@Z 
//如果是_cdecl @YG變?yōu)锧YA
//如果沒有參數(shù)即參數(shù)為void,則以Z結(jié)尾,例如:
//?ReleaseNativeManager3@@YAXXZ : ?+函數(shù)名+@@YA+返回類型+XZ
//以上 X表示 void類型,H表示int參數(shù)類型
_declspec(dllexport) void(_stdcall ReleaseNativeManager1)(int num);
_declspec(dllexport) void(_cdecl ReleaseNativeManager3)();

如果導(dǎo)入dll時(shí)發(fā)現(xiàn)沒有找到該函數(shù),要根據(jù)dll的導(dǎo)出約定方式設(shè)置對(duì)應(yīng)的導(dǎo)入方式,否則雖然函數(shù)名一樣但實(shí)際上符號(hào)是不同的。

到此這篇關(guān)于詳解VS2019 dumpbin查看DLL的導(dǎo)出函數(shù)的文章就介紹到這了,更多相關(guān)dumpbin查看DLL的導(dǎo)出函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言:自定義類型詳解

    C語(yǔ)言:自定義類型詳解

    這篇文章主要介紹了C語(yǔ)言自定義函數(shù)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • 全局靜態(tài)存儲(chǔ)區(qū)、堆區(qū)和棧區(qū)深入剖析

    全局靜態(tài)存儲(chǔ)區(qū)、堆區(qū)和棧區(qū)深入剖析

    在C++中,內(nèi)存可分為系統(tǒng)數(shù)據(jù)區(qū),自由存儲(chǔ)區(qū),文本區(qū),const數(shù)據(jù)區(qū),全局靜態(tài)區(qū),堆區(qū)和棧區(qū)
    2012-11-11
  • C語(yǔ)言 圖文并茂詳解程序編譯過程

    C語(yǔ)言 圖文并茂詳解程序編譯過程

    C語(yǔ)言是一種編譯型語(yǔ)言,需要把源文件進(jìn)行編譯之后才能運(yùn)行,它的編譯過程是:預(yù)處理:展開頭文件、宏替換,去掉注釋,條件編譯;編譯:檢查語(yǔ)法,生成匯編;匯編:把生成的匯編文件匯編成機(jī)器碼;鏈接:鏈接到一起生成可執(zhí)行程序
    2022-04-04
  • C++ 中 const和static readonly區(qū)別

    C++ 中 const和static readonly區(qū)別

    這篇文章主要介紹了C++ 中 const和static readonly區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Opencv 視頻轉(zhuǎn)為圖像序列的實(shí)現(xiàn)

    Opencv 視頻轉(zhuǎn)為圖像序列的實(shí)現(xiàn)

    今天小編就為大家分享一篇Opencv 視頻轉(zhuǎn)為圖像序列的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++基于socket編程實(shí)現(xiàn)聊天室功能

    C++基于socket編程實(shí)現(xiàn)聊天室功能

    這篇文章主要介紹了C++基于socket編程實(shí)現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語(yǔ)言實(shí)現(xiàn)數(shù)字連連看

    C語(yǔ)言實(shí)現(xiàn)數(shù)字連連看

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)字連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C++ 控制臺(tái)彈出文件管理對(duì)話框案例

    C++ 控制臺(tái)彈出文件管理對(duì)話框案例

    這篇文章主要介紹了C++ 控制臺(tái)彈出文件管理對(duì)話框案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C++使用alsa庫(kù)實(shí)現(xiàn)播放聲音文件

    C++使用alsa庫(kù)實(shí)現(xiàn)播放聲音文件

    這篇文章主要為大家詳細(xì)介紹了Linux系統(tǒng)上C++如何使用alsa庫(kù)播放聲音文件,文中示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • QT6安裝圖文教程(兼容QT5、QT4)

    QT6安裝圖文教程(兼容QT5、QT4)

    本文主要介紹了QT6安裝圖文教程(兼容QT5、QT4),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評(píng)論

青神县| 临澧县| 涟源市| 鄂伦春自治旗| 连江县| 乐昌市| 牟定县| 沾化县| 永兴县| 正阳县| 密山市| 江达县| 吴江市| 侯马市| 彭泽县| 定日县| 甘南县| 太保市| 静安区| 始兴县| 莱芜市| 凉城县| 额尔古纳市| 宜兰市| 正定县| 乌兰察布市| 莫力| 饶河县| 普宁市| 柳河县| 集贤县| 基隆市| 青铜峡市| 台湾省| 特克斯县| 洪洞县| 科尔| 马龙县| 莱阳市| 夹江县| 临邑县|