windows核心编程 第5版 第19章 DLL基础 笔记

 P509 Windows应用程序编程接口(application programming interface,API)提供的所有函数都包含在DLL中。其中三个最重要的DLL分别是:Kernel32.dll,包含的函数用来管理内存、进程及线程;User32.dll,包含的函数用来执行与用户界面相关的任务,如创建窗口和发送消息;GDI32.dll,包含的函数用来绘制图像和显示文字。
P510 在创建DLL的时候,我们必须给链接器指定/DLL开关。
           在应用程序(或其他DLL)能够调用一个DLL中的函数之前,必须将该DLL的文件映像映射到调用进程的地址空间中。我们可以通过两种方法来达到这一目的:隐式载入时链接(implicit load-time linking)或显式运行时链接(explicit run-time linking)。
P511 当一个模块提供一个内存分配函数的时候,它必须同时提供另一个用来释放内存的函数。
P513 如果链接器检测到DLL的源文件输出了至少一个函数或变量,那么链接器还会生出一个.lib文件。这个.lib文件非常小,这是因为它并不包含任何函数或变量。它只是列出了所有被导出的函数和变量的符号名。为了构建可执行模块,这个文件是必需的。
P523 为了减少应用程序的载入时间,我们应该对自己的可执行模块和DLL模块进行基地址重定位和绑定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值