《WINDOWS核心编程第5版》随笔记录19

条目1、WINDOWS中最重要的三个包含API提供函数的DLL:Kernel32.dll、User32.dll、GDI32.dll。(P509)

 

条目2、DLL通常由一组可供任何应用程序使用的独立函数组成,因此它通常比应用程序更容易创建。(P510)

 

条目3、在应用程序(或其他DLL)能够调用一个DLL中的函数之前,必须将该DLL的文件映像映射到调用进程的地址空间中。DLL中的函数创建的任何对象都为调用线程或调用进程所拥有--DLL绝对不会拥有任何对象。(P510)

 

条目4、要导出的函数可以通过__declspec(dllexport)来修饰,或在.def文件中给出。

 

条目5、C++编译器通常会对函数名和变量名进行改编(mangle),这在链接的时候会导致严重的问题。因此我们需要extern "C" 修饰符来避免这种改编。

验证:

 

通过dumpbin.exe -exports mangle.dll 查看:

Dump of file mangle.dll

File Type: DLL

    ... ...

    ordinal   hint      RVA               name

             1       0      00001000     ?fun@

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值