为什么要使用DEF文件?

本文探讨了在动态库开发中使用DEF文件和WINAPI宏的重要性。DEF文件允许开发者使用自然易读的函数名代替编译器生成的修饰名,提高跨语言调用的兼容性。WINAPI宏确保函数使用与Windows API相同的调用约定,避免调用协议错误。通过这两个工具,可以创建更标准、易于复用的动态库。
摘要由CSDN通过智能技术生成
 

使用C言或者C++言来动态库,其编译器都会为每个函数甚至量生成一个对应的修名(我是这样的。原文是the decorated names),接器将编译后的目码连接成DLL,其出函数名或量名依旧是编译后的修名。并且修名是与编译器相的,也就是你的源程序C,生成的修名是一个子;如果你的源程序C++生成的修名是另一种样子。(于修名的讨论,我将放在一个独的章节进行,敬等待。粮草未,广告先行。真是的....)而我习惯是直接使用函数名,而非修名,我在用API一直就是如此。那问题就来了,比如你在VB6中使用VC6写的动态库:你先在VB6中使用函数名来描述你要用的函数,然后写好用代,接下来运行,你的VB6这时会告你,它在动态库中找不到你刚刚描述的函数的入口点,你的程序绝执行了。怎么办?解决问题的方法至少有两1、修改你的VB6

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值