详解VS2019 dumpbin查看DLL的导出函数

之前有人问过ViewDLL这些软件在哪下载。实际上使用VS就可以查看DLL的导出接口。

1.先打开VS内部的Power Shell

2.打开以后应该如下图所示,首先输入dumpbin查看下用法:

3.使用 /Exports 参数查看DLL的导出函数符号

顺便再讲下关于调用约定和函数符号的关系,即_stdcall,_cdecl.还有就是extern "c"对函数名符号的影响。

上面的Dll1.dll的导出头文件如下:

#pragma once

extern "C" {
	//extern "C" + _stdcall,函数导出符号为 _CreateNativeManager@0 : _+函数名+@+传参字节数
	//由于_stdcall是被调用方清理堆栈,所以函数符号里面包含了传参的信息
	_declspec(dllexport) NativeManager* _stdcall CreateNativeManager();
	_declspec(dllexport) void _stdcall ReleaseNativeManager();
	_declspec(dllexport) void(_stdcall ExSetLogHandler)(LogHandler handler);
	//extern "C" + _cdecl,函数导出符号为 ReleaseNativeManager2 : 函数名
	//由于_cdecl是调用方清理堆栈,所以只需要函数名就可以
	_declspec(dllexport) void(_cdecl ReleaseNativeManager2)();
}
//不使用extern的情况下,是C++的导出方式,函数符号如下:
//?ReleaseNativeManager1@@YGXH@Z : ?+函数名+@@YG+返回类型+参数1类型...+@Z
//如果是_cdecl @YG变为@YA
//如果没有参数即参数为void,则以Z结尾,例如:
//?ReleaseNativeManager3@@YAXXZ : ?+函数名+@@YA+返回类型+XZ
//以上 X表示 void类型,H表示int参数类型
_declspec(dllexport) void(_stdcall ReleaseNativeManager1)(int num);
_declspec(dllexport) void(_cdecl ReleaseNativeManager3)();

如果导入dll时发现没有找到该函数,要根据dll的导出约定方式设置对应的导入方式,否则虽然函数名一样但实际上符号是不同的。

到此这篇关于详解VS2019 dumpbin查看DLL的导出函数的文章就介绍到这了,更多相关dumpbin查看DLL的导出函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Visual Studio 2019(VS2019) 基本操作

    卸载/加载项目 1.卸载项目:不删除项目代码,但是停止对该项目的一切使用和调用(好处是保留代码) 2.加载项目:重新加载已停用的项目,可以继续使用和调用 修改VS主题风格 工具–>选项–>环境–>常规 修改字体 工具–>选项–>环境–>字体和颜色 设置程序启动项 右键解决方案–>选择属性(VS默认是单启动项) 快速创建属性 光标要在[字段]附近 快捷键:[Ctrl+r+e](按住Crtl,先按r,再按e) 直接回车就可以 VS常用快捷键 代码对齐:Ctrl+k+d

  • VS2019使用快捷键将代码对齐的方法

    1.选中需要对齐的行 2.CTRL+K 3.CTRL+F 对齐前: 对齐后: 补充:VS中代码对齐等快捷键 在VS2008中,选定代码后,按Ctrl+K+F组合键,可以自动进行代码对齐. 注意:要先按下Ctrl和K,再按下F,因为Ctrl+F是查找的快捷键. 也可以先按下Ctrl+K,再按下Ctrl+F. 另外,可以在"工具->选项->文本编辑器->C/C++->制表符"选项卡中设置缩进选项. 英文版本的路径为:Tools->Options->Tex

  • VS2019下opencv4.1.2配置图文教程(永久配置)

    关于VS2019的安装可参考:VS2019以及MFC的安装详细教程 一.使用VS2019创建控制台工程(举例,其他同理),并打开视图中的属性管理器,如图. 二.在属性管理器下,找到debug|x64,右击新建属性表,如图. 修改属性表名称.位置(我这没改),点击添加. 三.设置属性表属性.双击点开刚才新建的属性表. 1.设置包含目录 :如图,点击VC++目录下的包含目录进行编辑.输入之后点击确定. 输入:你的opencv所放目录\opencv\build\include\opencv2 你的op

  • VS2019打包WPF安装程序最新教程(图文详解)

    VS2019打包WPF安装程序最新教程,使用Visual Studio 2019开发的WPF程序如果想要打包为安装程序,除了在VS2019找到WPF项目类库直接右键发布之外,更常用的还是将其打包为exe或者msi的安装程序:打包成安装程序的话,客户得到安装程序直接安装即可使用,即使在离线环境情况下,安装好就可以使用了. 一些传统行业发布程序时,比较常用这种方法,如医疗,教育等. 演示程序打包一览 在本教程中,我完整的打包了一个简单的WPF程序,最终安装好了以后,在桌面有一个我的程序的快捷方式图标

  • vs2019生成dll并调用的实现示例

    为了防止步骤上的失误,造成不成功,我尽量每一步的过程都写清楚 一.生成DLL 1.创建dll工程 2.编写dll函数 经过上述过程后工程中会生成几个自带的文件,可以自行创建或者更名,我直接在上面进行编写了. 如下我先在pch.h中创建我需要调用函数的声明,他们分别用于实现加法和取最大值的功能,你可以根据自己的需求更改成自己的子程序. // pch.h: 这是预编译标头文件. // 下方列出的文件仅编译一次,提高了将来生成的生成性能. // 这还将影响 IntelliSense 性能,包括代码完成

  • VS2019以及MFC的安装详细教程

    本文为大家分享了VS2019以及MFC的安装详细教程,供大家参考,具体内容如下 一.安装过程: 1.搜索visual studio 进入官网. 2.选择community 2019下载. 3.现在完成后点击安装,等待安装完成 4.自动弹出一下界面,工作负载这里勾选使用C++的桌面开发和Visual Studio 扩展开发.另外,在使用C++的桌面开发选中后的右侧安装详细信息栏中勾选适用于最新的v142生成工具的C++MFC(x86和x64)这一项.选中后点击安装.(一共勾选3个地方,如下图) 5

  • VS2019连接mysql8.0数据库的教程图文详解

    1.首先准备好VS2019以及mysql数据库,两者都可以去官网下载,我们直接描述连接过程. 2.连接: 第一步:打开mysql的安装目录,我本地的安装目录如下:(注意是否有include和lib文件夹) 第二步:打开VS2019,新建一个空工程. 第三步:右击工程名,打开属性页: 第四步:打开VC++目录,在包含目录中,将mysql安装文件中的include文件的路径添加到这里: 第五步:还是在属性页上,打开C/C++,选择常规,和上一步一样,在附加包含目录中将mysql文件中的include

  • VS2019项目打包生成.exe文件与Setup的步骤实现

    对于Visual Studio Installer ,我们通常称为:setup项目,是一个用于自定义安装部署的项目方案.但是在VS2019中不见了,微软是有意废除安装项目的,合作了一个第三方的安装项目单独使用. 我们可以从官网上把Visual Studio Installer 项目扩展下载下来. 地址:https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017In

  • VS2019中CMake项目的简单使用方法

    在使用Visual Studio的时候很多人都应该碰过在使用scanf的时候会报错等问题,虽然把SDL检查关了就能解决,但是此方法在博主使用VS2019的时候,却有失灵的时候.所以决定在日常刷题的时候使用CMake项目来编译代码.因为CMake项目并不会因为使用scanf而报错.以下是博主使用CMake的一些总结,仅供参考. 1.建立CMake项目文件 在创建项目界面可直接搜索cmake找到创建项目. 为了方便使用可以选择将解决方案和项目放到同一个目录. 2.CMakeList的配置 在创建好项

  • VS2019离线安装方法图文教程

    本文详细介绍了 VS2019 离线安装的相关步骤,以桌面开发为主下载 C++桌面开发..NET 桌面开发相关的工作负载.MFC 可选组件及帮助查看器. 工作负载(Workload) 离线安装需要先根据开发的项目类型下载相关的 工作负载(Workload).工作负载包含多个依赖项,分为必需(Required).建议(Recommended).可选(Optional) 三种类型.如下图所示: 以 C++桌面开发为例,ATL 是建议组件,而 MFC 是可选组件. 在下载工作负载或可选组件时,需要先选择

  • vs2019安装和使用详细图文教程

    vs2019已经在4月2日正式发布,vs2019发布会请看这个链接: vs2019发布活动 vs2019和vs2017一样强大,项目兼容,不用互相删除,而且C/C++,Python,F#,ios,Android,Web,Node.js,Azure,Unity,HTML,JavaScript等开发都可以执行,相关介绍可以看这个官方网址:Visual Studio 2019 关于RC版用户更新到正式发布版可参看第五节,4月2号之后下载的用户可忽略本节内容 一.官网下载 1.下载网址:微软官网 2.官

  • VS2019简单快速的打包可安装项目(图文教程)

    一.准备工作 (一)教程以"Hello World"为例: (二)安装VS自带打包插件 下面是一系列的安装需要走的步骤,就不详细介绍了. 二.开始打包 (一)右键解决方案->添加->新建项目 (二)新建一个Setup Project (三)进入了这个界面 如果不小心关闭了,右击新建的打包工程,浏览文件系统就可以看见上面的图了. (四)添加打包文件 首先获取项目路径. 右键Application Foluder->Add->文件. 输入刚才的地址,选取全部. (五

  • Visual Studio 2019安装使用C语言程序(VS2019 C语言)

    新的Visual Studio 2019出来已经有一段时间了,博主也是一开始就从vs2017换到了vs2019,发现整体的操作流程还是有一定的改变,因为之前发表过一个vs2017的博客,对Visual Studio IDE和风格确实非常喜欢,博主在vs2019中使用的字体为Fira code,接下来是编写c程序. 1 选择创建新项目 2 选择空项目,单击下一步 3 填写项目名称(生成的文件夹名称和工程名都是这个),我这里填入hello,保存位置选择为桌面,此时应该在工程建立ok后,桌面会生成一个

随机推荐