lua调用C++
环境配置: 1、打开Visual C++ 2008(后面简称VC2008),新建一个C++ project,File->New Project->Empty Project,在Name栏输入工程名,然后OK. 2、设置生成DLL文件,右键工程名,Properties->Configuration Properties->General->Configuration Type->选择Dynamic Library(.dll) 3、设置C/C++、Lua。C/C++->General->Additional Include Directories->选择Lua的安装路径下的include,我Lua安装在"C:Program FilesLua",我的完整路径:"C:Program FilesLua5.1include"。 4、设置Linker:Linker->General->Additional Library Directories->选择Lua安装目录下的lib目录就可以了。我的完整路径:"C:Program FilesLua5.1lib". 5、设置Input:Input->Additional Dependencies->这里手动输入"lua5.1.lib"就可以了。点击确认。 OK,暂时配置就到这里,下面还需要配置一个模块定义文件。等等再说。 Test Lua调用C++函数 1、选择Source Files,右键Add->New Item->选择 C++ File(.cpp)->Add->Name栏输入hello->Add。 2、在hello.cpp文件中输入下面Code.
3、建一个模块定义文件,在环境配置中说到过,这里先不介绍怎么配置。 (1)这个时候要在当前Project下面建立文件,文件后缀为.def的文件。我这里定义的是叫“lua_c.def”的文件。 (2)这个文件很简单,首先在文件最上面加上 EXPORTS,然后再将你在C++文件中定义的那个入口函数的函数名加进来就可以了。(就是上面的luaopen_hello)。 (3)将模块定义文件加入到Project,右键Resource Files->add->Add Existing Item->选择新建的lua_c.def文件,Add. 4、将模块定义文件配置到Project中,上面环境配置没有说完的,Properties->Configuration Properties->Linker->Input->Module Definition File->输入上面建的lua_c.def文件,确定。 OK!到这里就基本上配置好了。 编译Project: 1、右键Project->Build,在控制台可以看到Build的信息。 2、在当前ProjectDebug,就可以找到与工程名相同的 hello.dll(我这里Project Name是hello)文件了,这个文件就可以在Lua中使用了。 建Lua文件测试: 1、打开SciTE编辑器,新建一个文件,在文件中输入下面的内容: -- "hello"是模块的名字,与Project Name相同
-- 在C++文件中注册的名字
-- 调用C++文件中定义的方法,"Lua"就是参数了。
2、保存,取个名字,我这是LuaVC.lua. 3、运行。快捷键 F5.这里需要注意下,需要把hello.dll文件拷到Lua能找到的路径下,我这里放在了与Lua文件一起。 如果都没有问题的话就可以看到SciTE控制台输出
小结:Lua调用C++函数实现教程的内容介绍完了,希望通过本文的学习能对你有所帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |