- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
易语言中调用DLL使用说明
2005年11月
大连大有易语言软件开发
基本说明
本文所描述的部分功能需易语言4.01或以上版本支持。
“在易语言中调用DLL”包含两方面的内容:调用Windows系统API函数;调用普通DLL函数。
下文用到的“调用API”或“调用DLL”等字眼,除非特别注明,一般都是指以上两方面之一或之和,视
上下文而定。绝大多数情况下,无需明确区分调用的是系统API还是普通DLL。
目前易语言只支持以stdcall方式调用DLL中的导出函数。
Windows系统API一般都是以stdcall调用方式导出的,故在易语言中调用它们时通常不必考虑函数调用方
式的问题。而普通DLL有可能导出“非stdcall调用方式”(比如cdecl)的函数,调用时需要特别注意。一般而
言,考虑到通用性,DLL开发者都会选择导出以sdtcall方式调用的函数。(支持生成DLL的编程语言通常都支
持导出stdcall调用方式的函数,具体实现请参考各编程语言手册。)
特别地,在VC中类似如下代码导出的函数并非stdcall调用方式:
externC
declspec(dllexport)test(inta,intb)
{
return(a+b);
}
要想该函数被易语言调用,应该按类似如下方式定义(并在.def文本中导出):
intWINAPItest(inta,intb)
{
return(a+b);
}
易语言编译生成的DLL,其导出函数全部为stdcall调用方式,所以在易语言中调用易语言生成的DLL不存
在问题。
目前在易语言中调用DLL时只支持1字节对齐的结构(自定义数据类型)
如果DLL命令的某个参数或参数的某个成员是结构类型(自定义数据类型),则其对齐方式必须是1字节
对齐。Windows系统API中所用到的结构都是1字节对齐的,故在调用API时不受此限制。但如果想用其它编
程语言生成DLL供易语言调用且数据类型中包含了1或2字节数据长度的成员(如字符型或短整数),就需要
考虑结构的1字节对齐。
在VC中,可以这样定义1字节对齐的结构(结构在C/C++中称为struct):
#pragmapack(push,old_value)//保存VC++编译器结构对齐字节数。
InstructionsforcallingDLLinEasyLanguage
November2005DalianDayouWuTaoyi
LanguageSoftwareDevelopmentCo.,Ltd.
基本说明
SomeofthefunctionsdescribedinthisarticlerequiresupportfromEasy
Language4.01orabove.
CallingDLLinYiLanguageincludestwoaspects:callingWindowssystemAPIfunctions;callingordinaryDLLfunctions.
ThewordscallingAPIorcallingDLLusedbelow,unsotherwisespecified,generallyrefertooneorbothoftheabovetwo
aspects,dependingonthecontext.Inmostcases,thereisnoneedtoclearlydistinguishwhetherthecallistoasystemAPIoranor
malDLL.
Currently,YiLanguage
您可能关注的文档
- 万以内加减法复习与易错题.pdf
- 腰椎结核围手术期护理要点与健康管理.pdf
- 工矿品买卖标及交货条款.pdf
- 维修参考31at8mb0061元器件更换与调整方案.pdf
- 浙江省瑞安中学2013-2014学年高一数学下学期期中考试题.pdf
- 中医外科学疾病命名与基本术语.pdf
- 人教版七年级上册英语Unit 7 Section B 3a-Self Check教学设计.pdf
- 微生物与人类关系及应用分析.pdf
- 细菌来源蛋白酶化学品安全技术说明书.pdf
- 变电站无人值改造设计与运行管理研究.pdf
- 中国国家标准 GB 14287.5-2025电气火灾监控系统 第5部分:测量热解粒子式电气火灾监控探测器.pdf
- 《GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存》.pdf
- GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存.pdf
- 中国国家标准 GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存.pdf
- 中国国家标准 GB/T 19436.2-2025机械电气安全 电敏保护设备 第2部分:使用有源光电保护装置(AOPDs)设备的特殊要求.pdf
- 《GB/T 19436.2-2025机械电气安全 电敏保护设备 第2部分:使用有源光电保护装置(AOPDs)设备的特殊要求》.pdf
- 《GB 27898.4-2025固定消防给水设备 第4部分:消防气体顶压给水设备》.pdf
- GB 27898.4-2025固定消防给水设备 第4部分:消防气体顶压给水设备.pdf
- GB/T 31270.1-2025化学农药环境安全评价试验准则 第1部分:土壤代谢试验.pdf
- 中国国家标准 GB/T 31270.1-2025化学农药环境安全评价试验准则 第1部分:土壤代谢试验.pdf
原创力文档


文档评论(0)