UE4链接第三方动态库DLL的个人理解和整理 您所在的位置:网站首页 d3dcompiler47dll是什么意思 UE4链接第三方动态库DLL的个人理解和整理

UE4链接第三方动态库DLL的个人理解和整理

2023-12-30 09:58| 来源: 网络整理| 查看: 265

上一次整理了UE4链接第三方静态库Lib的做法和个人理解,这次我也说下这个动态库的做法和理解吧 跳转链接: UE4链接第三方静态库Lib的理解. 同样的,相同的道理网上一百度一大把,但是我觉得并不适合我这样的小白,理解起来还是有些问题的,首先就是如何创建这个库文件,另外就是代码的理解,下面我主要就说说这个代码的理解吧,至于怎么创建动态库我也不清楚,我测试的是从别的地方找的动态库 1.链接动态库是不需要在build.cs里面添加什么的,主要就是代码里面获取,先展示个整体部分,容纳后再分步解释吧 在这里插入图片描述

我标注了几个地方,对于小白来说理解起来比较困难的点(个人理解) 我所有的解释不局限于我写的这个东西 1…第一步首先这个定义是个什么意思,他的意思就是自己定义一个函数类型,这个函数的返回值是double类型,同时有两个double类型的传参,我为什么要这么定义,是因为方便后面使用,以及我要用这个函数类型的指针去接收动态库里的函数

2…这里是定义一个空的函数指针,这个空其实指的是这个函数没有返回值,是为了下面接收GetDllHandle这个函数的返回值,他的返回值正是一个空的函数函数指针

3…这个DLL_Fun就是一个变量,他的类型是我刚才定义的函数指针类型

4…这个FunName是动态库里的函数名,必须要一致,不然找不到这个动态库函数的

5…首先仔细看,GetDllExport这个函数返回的类型其实也是一个空的函数指针,但是我们的动态库函数时有返回值并且有参数的怎么办,那只能强转,就是()里面的,为什么可以转换成功,就是因为我要强转成的类型和我动态库里的函数返回值以及参数都是对应上的 所以是可以转成功的

到这里,我们就可以接收到动态库的函数里,也就这么多代码,有的人觉得这个链接动态库比链接静态库简单,因为静态库需要绑位置什么的,其实动态库也需要获取到它的绝对路径的,我觉得链接动态库的代码理解更难点吧 看个人的理解程度吧

最后我觉得,我们的技能不断地提升就是在不断地抄袭理解,只有真正的理解了才能算有所掌握吧 如果只是单纯的抄 那永远是学不会的,我们要在理解的基础上去用才能有进步的



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有