DLL最简单操作:创建与应用

创造DLL:
1) 建立带有输出原型/结构/符号的头文件。

#define MYLIBAPI extern "C" __declspec(dllimport)
2.1) 建立实现输出函数/变量的C/C++源文件。

CPP文件头必须如下顺序:

#include <windows.h>
#define MYLIBAPI extern "C" __declspec(dllexport)
#include "MyLib.h"

2.2)添加定义DLL文件名及输出函数及变量名的.def文件

//DLL01.def (与Cpp文件放一个工程目录下)

LIBRARY      "DLL01.dll"

EXPORTS
      Add   DATA
      nResult DATA

//end file

3) 编译器为每个C/C++源文件生成.obj模块。
4) 链接程序将生成DLL的.obj模块链接起来。
5) 如果至少输出一个函数/变量,那么链接程序也生成.lib 文件。
创造EXE:
6) 建立带有输入原型/结构/符号的头文件。

把步骤1 )里的MyLib.h文件,原样的复制到应用程序源代码的文件夹。

复制DLL01.dll和DLL01.lib到.exe文件夹下。
7) 建立使用输入函数/变量的C/C++源文件。

文件头必须是

#include <windows.h>
#include "MyLib.h"

#pragma comment ( lib, "Debug/DLL01.lib")
8) 编译器为每个C/C++源文件生成.obj源文件。
9) 链接程序将各个.obj模块链接起来,生成.exe文件。
运行应用程序:
10) 加载程序为.exe 创建模块地址空进程的主线程开始执行;
    应用程序启动运行。

 

以上为VC6.0隐式加载DLL成功步骤,哈哈。


显式加载DLL:
11) 一个线程调用LoadLibrary (Ex)函数,将DLL加载到进程
    的地址空间这时线程可以调用GetProcAddress以便间接
    引用DLL的输出符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值