可以在Lua中加载C ++ dll文件吗?

黄色的

我需要在Lua中加载DLL文件以连接不同的API。我知道可以加载C类型的dll,但是我拥有的是用C ++生成的dll文件。

生成该库的代码(在C ++中)具有以下形式:

// MyAPI.h

namespace MyAPI
{
    public class MyFirstClass
    {
        public: 
           MyFirstClass();
           void performSomeMethod(int arg);
    }
}

然后生成dll文件MyAPI.dll现在,当我尝试使用Lua将其导入时:

require "MyAPI"

它立即给出错误:error loading module 'MyAPI' from file '.\MyAPI.dll': The specified procedure could not be found我不明白这是什么意思,或者如何摆脱它。Lua可以通常不包括C ++库吗(即,我应该编写另一个C包装器吗?),或者有办法做到这一点吗?

德米特里·列登佐夫(Dmitry Ledentsov)

是的,可以做到。公开一个C函数加载器luaopen_MyAPI,您可以在其中调用使用任何类型的C ++ Lua包装器的函数,例如LuaBridgeLuaBind或其他。如果您在C ++中的调用不符合绑定规则,例如生命周期管理,按值传递对象等,则可能需要将这些类包装为可绑定的类。

有关示例,请参阅pugilua

  • pugilua_lib.h-模块加载器API
  • pugilua_lib.cpp-包装器类和LuaBridge绑定
  • pugilua.cpp-从模块加载器调用绑定

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

constexpr函数可以在C ++中加载文件吗?

来自分类Dev

我可以从lua 5.0.2加载用c ++编写的lua 5.3.5 dll吗?

来自分类Dev

在项目中加载dll真的需要package.config文件吗?

来自分类Dev

是否可以在Windows的c-dll中加载go-dll?

来自分类Dev

我可以在R中加载第三方.dll吗?

来自分类Dev

BadImageFormatException:尝试在C#中使用C ++ DLL文件吗?

来自分类Dev

如何在C ++中加载dll

来自分类Dev

我们可以在 Office.js 加载项中加载 Excel 文件吗

来自分类Dev

.net可以从内存中动态加载c ++ / cli dll吗?

来自分类Dev

.net可以从内存中动态加载c ++ / cli dll吗?

来自分类Dev

luaL_loadbuffer可以在一个调用中加载多个文件吗?

来自分类Dev

我可以在Visual Studio的Picturebox控件中加载文档或pdf文件吗?

来自分类Dev

luaL_loadbuffer可以在一个调用中加载多个文件吗?

来自分类Dev

在C#中加载XML文件路径

来自分类Dev

在C ++ / OpenGL中加载tga / bmp文件

来自分类Dev

C ++从文件中加载数字,然后求和

来自分类Dev

Visual Studio的Graphcmd工具可以从dll文件生成dgml文件吗

来自分类Dev

不知道如何在C中加载和使用dll文件

来自分类Dev

PyImport_ImportModule,可以从内存中加载模块吗?

来自分类Dev

Indy可以从内存中加载SSL证书吗?

来自分类Dev

我可以从内存流中加载库吗?

来自分类Dev

可以在后台线程中加载UI吗?

来自分类Dev

在Angular中,可以在代码中加载视图吗?

来自分类Dev

是否可以从文件中加载hiveconf变量?(与HiveQL文件分开)

来自分类Dev

在Python中加载DLL

来自分类Dev

Windows中的延迟加载DLL:我可以动态选择要查找的DLL名称吗?(C ++)

来自分类Dev

是否可以使用iTextSharp在PDF中加载XMP文件?

来自分类Dev

在python-3中加载64位dll文件

来自分类Dev

python可以从C头文件加载定义吗?

Related 相关文章

  1. 1

    constexpr函数可以在C ++中加载文件吗?

  2. 2

    我可以从lua 5.0.2加载用c ++编写的lua 5.3.5 dll吗?

  3. 3

    在项目中加载dll真的需要package.config文件吗?

  4. 4

    是否可以在Windows的c-dll中加载go-dll?

  5. 5

    我可以在R中加载第三方.dll吗?

  6. 6

    BadImageFormatException:尝试在C#中使用C ++ DLL文件吗?

  7. 7

    如何在C ++中加载dll

  8. 8

    我们可以在 Office.js 加载项中加载 Excel 文件吗

  9. 9

    .net可以从内存中动态加载c ++ / cli dll吗?

  10. 10

    .net可以从内存中动态加载c ++ / cli dll吗?

  11. 11

    luaL_loadbuffer可以在一个调用中加载多个文件吗?

  12. 12

    我可以在Visual Studio的Picturebox控件中加载文档或pdf文件吗?

  13. 13

    luaL_loadbuffer可以在一个调用中加载多个文件吗?

  14. 14

    在C#中加载XML文件路径

  15. 15

    在C ++ / OpenGL中加载tga / bmp文件

  16. 16

    C ++从文件中加载数字,然后求和

  17. 17

    Visual Studio的Graphcmd工具可以从dll文件生成dgml文件吗

  18. 18

    不知道如何在C中加载和使用dll文件

  19. 19

    PyImport_ImportModule,可以从内存中加载模块吗?

  20. 20

    Indy可以从内存中加载SSL证书吗?

  21. 21

    我可以从内存流中加载库吗?

  22. 22

    可以在后台线程中加载UI吗?

  23. 23

    在Angular中,可以在代码中加载视图吗?

  24. 24

    是否可以从文件中加载hiveconf变量?(与HiveQL文件分开)

  25. 25

    在Python中加载DLL

  26. 26

    Windows中的延迟加载DLL:我可以动态选择要查找的DLL名称吗?(C ++)

  27. 27

    是否可以使用iTextSharp在PDF中加载XMP文件?

  28. 28

    在python-3中加载64位dll文件

  29. 29

    python可以从C头文件加载定义吗?

热门标签

归档