炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 163|回复: 0

[图文教程] 零基础进阶篇-019-调用DLL动态库文件

[复制链接]
  • TA的每日心情
    难过
    2021-3-17 08:38
  • 发表于 2024-3-6 15:45:32 | 显示全部楼层 |阅读模式
    本帖最后由 易团雪 于 2024-3-6 16:17 编辑

    上一节,学习了如何编写一个DLL动态库文件
    那如何调用里面的函数呢?
    调用方式有:
    1.头文件+DLL+lib文件配合调用---也可以称为静态隐式调用
    2.内存调用DLL---把DLL放到资源文件中调用,程序不需要携带DLL文件
    3.动态调用DLL---也可以称为动态显式调用
    4.DLL导入表调用DLL---此方法为炫语言特有,其实可以叫动态调用。只是炫IDE自动封装了
    接触过编程的可能对1.2.3有过一些了解,那第4又是什么鬼呢?
    DLL导入表
    格式:#DLL导入表[DLL文件名,编译方式,回调函数]---后面两个参数可以直接忽略不管

    参数1:也可以是DLL路径+文件名,如:d:\\xc\\dll文件.dll

    参数2:忽略为默认编译方式
    参数3:可以自定义DLL文件目录,和参数1填写绝对路径一样
    [C++] 纯文本查看 复制代码
    函数 文本型 设置_DLL目录回调(文本型 路径)
    {
            路径 = "G:\\ft\\xc\\基础入门示例\\进阶篇\\018-编写DLL动态库文件\\Debug\\018-DLL动态库.dll"
            返回 路径
    }
    下面是导入表代码后面两个参数忽略,默认文件路径为程序目录
    [C++] 纯文本查看 复制代码
    #DLL导入表["018-DLL动态库.dll"]
    {
            函数 整型 WINAPI add(整型 a, 整型 i) : _add
            函数 字符型 *add1() : _add1
            函数 返回结构类型 WINAPI add2(字符型 *传入文本参数, 整型 i) : _add2
            函数 空类型 WINAPI add3(整型 i, 返回结构类型 &传出结构参数) : _add3
    }
    结构体 返回结构类型
    {
            字符型  *我是文本
            整型 我是整型
            浮点型 我是浮点
    }
    函数格式:前面和之前学过的一样,后面:+ 原函数名称
    注意:
    1.调用约定一定要和编译的dll文件里函数声明一样
    2.编译的调试版和发布版也要对应。不要DLL编译发布版,exe程序调试版。这样会出现意想不到的错误
    3.DLL文件需要放到程序目录下,或自定义目录
    有没有觉得熟悉的味道,是不是差不多和易语言的DLL声明差不多
    到此声明就完成了。现在直接调用就好。如:add(1,10)
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

    GMT+8, 2024-5-2 13:01 , Processed in 0.064565 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表