DLL的创建和加载

这篇博客详细介绍了DLL动态链接库和EXE可执行文件的创建过程。从编写头文件、实现函数到编译和链接,阐述了DLL的生成步骤,包括如何生成.lib文件。接着讲解了EXE的构建,强调了不直接引用DLL输入符号的特点。最后,讨论了应用程序运行时如何通过LoadLibrary和GetProcAddress来显式加载和使用DLL。
摘要由CSDN通过智能技术生成

创造DLL:
1) 建立带有输出原型/结构/符号的头文件。
2) 建立实现输出函数/变量的C/C++源文件。
3) 编译器为每个C/C++源文件生成.obj模块。
4) 链接程序将生成DLL的.obj模块链接起来。
5) 如果至少输出一个函数/变量,那么链接程序也生成.lib 文件。
创造EXE:
6) 建立带有输入原型/结构/符号的头文件(视情况而定)。
7) 建立不引用输入函数/变量的C/C++源文件。
8) 编译器为每个C/C++源文件生成.obj源文件。
9) 链接程序将各个.obj模块链接起来,生成.exe文件。
注: DLL的lib文件是不需要的,因为并不直接引用输出符号。.exe 文件不包含输入表。
运行应用程序:
10) 加载程序为.exe 创建模块地址空进程的主线程开始执行;应用程序启动运行。
显式加载DLL:
11) 一个线程调用LoadLibrary (Ex)函数,将DLL加载到进程的地址空间这时线程可以调用GetProcAddress以便间接引用DLL的
输出符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值