作者:朱金灿
来源:http://blog.csdn.net/clever101/
Lua语言以其卓越的可扩展性、简单、高效率和与平台无关性在游戏领域得到广泛应用。今天花了一些时间学习VC和Lua如何混合开发,编写了一个小例程,和大家分享一下这方面的经验。
首先在http://www.lua.org/ftp/
下载Lua的最新版本:lua-5.1.4。然后用VS C++ 2005 + sp1建一个Win32静态库空工程:lua,把相关c文件和h文件都添加进来。为了导出了lua的api接口,注意添加一个预处理宏:LUA_CORE(或者是LUA_LIB也可以),另外运行时库采用多线程DLL。
首先编写一个Lua脚本函数,代码如下:
将这个代码保存为add.lua。
接着我们新建一个MFC对话框工程:Calc。这个程序实现简单整数加法运算。
首先在对话框类定义一个Lua虚拟机指针以及加法运算所需要的变量:
在对话框初始化函数CCalcDlg::OnInitDialog调用LUA虚拟机初始化函数InitLuaState。InitLuaState函数的代码如下:
在对话框的销毁消息响应函数里关闭Lua虚拟机:
在执行加法按钮的消息函数里添加如下代码:
编译环境为:WinXp + sp3, VS C++2005 + sp1,程序运行界面如下:
相关源码在这里下载:VC程序调用Lua脚本函数程序源码下载
。
参考文献:
1. LUA 和C之间的函数调用
2. LUA整合进MFC代码
分享到:
相关推荐
基本的调用lua变量与函数,实现文本的获取与显示策略,若要改变显示方式,只要修改move()函数即可.
关于tolua++的资料太少,这个通过实例让你知道如何通过tolua++和C++交互,简单明了。 通过5个文件来演示这个tolua++版 hello world hello.lua ,hello.h ,hello.pkg ,...这个程序实现了脚本调用C++类的成员函数方法
一个关于lua的例子,VC和lua相互调用的例子
该程序实现脚本语言与C++的结合简单结合 通过vc程序调用lua脚本 实现功能 ps:对于入门研究人员可能是必要好的示例
lua脚本执行行数和次数统计的Dll,统计了lua执行的文件名,行数以及改行执行的次数,并输出到结果文件result.txt。包含了一个例子文件test.lua
这是一组全局函数,当您在您的应用程序中实现一个能被LUA调用的函数时候,需要用到这些函数。主要是数据交换相关。包含 LUA取参数数目、LUA取参数类型、LUA取参数值、LUA加返回值、LUA扩展栈。后续版本可能会根据...
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。 Lua由...
lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问...
这次说明的了,在VC++ 6.0中怎么样调用一个lua脚本中的有参函数。
c#调用脚本语言Lua——简单Demo 配置: 1. 下载c#下的Lua支持类库。下载地址:http://files.luaforge.net/releases/luainterface/luainterface/2.0.3 将(lua51.dll\LuaInterface.dll)引用自己的项目中。 2. 修改...
lua windows调用可执行文件,包括打开以及关闭。 是想通过windows api来实现,这只是提供一种方式,不见得好用哈。
易语言lua的例子,静态易语言调用LUA51.DLL和模块
C++调用Lua函数 以及Lua调用C++函数
简要实现了C/C++中调用Lua脚本的技术。 通过用Lua脚本输出一个便签,来研究C/C++与Lua的交互技术。
lua调用c函数库的demo 其中实现了对一个 数组的管理。 注意lua参数与c函数的对应, 如:b=lua_dllb.getarray(a,1) static int getarray(lua_State* L) { NumArray * a=(NumArray*)lua_touserdata(L,1); //对应lua...
lua代码编辑编译器,可以编写代码并编译
本人亲自编译通过的程序,如果无法通过只可能是您的编译环境有问题。本人的开发环境:VC++6.0,使用的是Win32 Console Application
在Linux底下,从Lua中调用C函数的一个简单例子。
LUA脚本支持库|LUA脚本支持库