Win32 DLL相关操作

简介: 定义导出函数   //方法1: _declspec(dllexport) int Add(int a, int b);//此时会发生函数名字改编 //如果不想改编,可以使用extern "C" extern "C" _declspec(dllexport) int Add(int a, int b);   //方法2: //使用模块定义文件def,“;”为注释行   ; W

定义导出函数

 

//方法1:

_declspec(dllexport) int Add(int a, int b);//此时会发生函数名字改编

//如果不想改编,可以使用extern "C"

extern "C" _declspec(dllexport) int Add(int a, int b);

 

//方法2:

//使用模块定义文件def,“;”为注释行

 

; Win32Dll.def: 导出DLL函数

LIBRARY "Win32Dll"                          ;Dll的名称

;DESRIPTION "实现一个Win32 DLL"   ;Dll的描述

EXPORTS

Add             ;函数名

Sub             ;函数名

 

 

 

DLL的调用

1、动态调用(显式调用)

     相关函数:LoadLibrary、FreeLibrary、GetProcAddress

 

2、静态调用(隐式调用)

     (1)需要在调用程序中加入#pragma comment(lib, "name.dll");或者在“工程”->“设置”->“Link”项,输入name.dll

     (2)在调用程序中声明导入函数:extern "C" _declspec(dllimport) int Add(int a, int b);

 

windows系统搜索DLL的路径顺序:

1、exe文件的目录

2、进程的当前工作目录

3、Windows系统目录System32

4、Windows目录

5、path环境变量

相关文章
|
8月前
|
存储 Java C语言
Windows 下 JNI 调用动态链接库 dll
Windows 下 JNI 调用动态链接库 dll
188 0
woauolt.exe,System.exe,Update.dll,MPKrnl.dll,360mon.dll,upnpsrv.dll等1
woauolt.exe,System.exe,Update.dll,MPKrnl.dll,360mon.dll,upnpsrv.dll等1
|
8月前
|
存储 Java C++
Windows 下 JNA 调用动态链接库 dll
Windows 下 JNA 调用动态链接库 dll
135 0
|
IDE 开发工具 C++
[记录][问题]Win32调用C++/WinRT DLL
[记录][问题]Win32调用C++/WinRT DLL
Win10系统msvcr120.dll丢失解决
Win10系统msvcr120.dll丢失解决
|
Windows
WINDOWS下获得DLL所在目录的代码
WINDOWS下获得DLL所在目录的代码
154 0
成功解决(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
成功解决(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
成功解决(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
|
Windows 安全 数据安全/隐私保护