`
ladymaidu
  • 浏览: 679931 次
文章分类
社区版块
存档分类
最新评论

VC和LUA混合开发之VC程序调用Lua脚本函数

 
阅读更多

作者:朱金灿
来源: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 Combine Lua



相关源码在这里下载:VC程序调用Lua脚本函数程序源码下载


参考文献:


1. LUA 和C之间的函数调用


2. LUA整合进MFC代码














分享到:
评论

相关推荐

    Lua的使用入门之在C++程序中调用lua函数1

    基本的调用lua变量与函数,实现文本的获取与显示策略,若要改变显示方式,只要修改move()函数即可.

    tolua++ 版helloworld (lua脚本调用C++类的成员函数方法)

    关于tolua++的资料太少,这个通过实例让你知道如何通过tolua++和C++交互,简单明了。 通过5个文件来演示这个tolua++版 hello world hello.lua ,hello.h ,hello.pkg ,...这个程序实现了脚本调用C++类的成员函数方法

    VC和lua相互调用的例子

    一个关于lua的例子,VC和lua相互调用的例子

    vc 程序调用lua脚本简单示例

    该程序实现脚本语言与C++的结合简单结合 通过vc程序调用lua脚本 实现功能 ps:对于入门研究人员可能是必要好的示例

    lua脚本执行行数和次数统计Dll

    lua脚本执行行数和次数统计的Dll,统计了lua执行的文件名,行数以及改行执行的次数,并输出到结果文件result.txt。包含了一个例子文件test.lua

    易语言LUA支持库1.0#0版(第三方)

    这是一组全局函数,当您在您的应用程序中实现一个能被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脚本问文件哈哈哈lua脚本问...

    Lua编程事例:调用Lua有参函数

    这次说明的了,在VC++ 6.0中怎么样调用一个lua脚本中的有参函数。

    c#调用脚本语言Lua——简单Demo

    c#调用脚本语言Lua——简单Demo 配置: 1. 下载c#下的Lua支持类库。下载地址:http://files.luaforge.net/releases/luainterface/luainterface/2.0.3 将(lua51.dll\LuaInterface.dll)引用自己的项目中。 2. 修改...

    lua调用可执行文件

    lua windows调用可执行文件,包括打开以及关闭。 是想通过windows api来实现,这只是提供一种方式,不见得好用哈。

    易语言lua的例子

    易语言lua的例子,静态易语言调用LUA51.DLL和模块

    Lua的最基本使用 C++与lua的互相调用

    C++调用Lua函数 以及Lua调用C++函数

    Lua与C/C++交互——C/C++调用Lua脚本

    简要实现了C/C++中调用Lua脚本的技术。 通过用Lua脚本输出一个便签,来研究C/C++与Lua的交互技术。

    lua调用c函数库的demo

    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脚本开发工具

    lua代码编辑编译器,可以编写代码并编译

    lua调用C++函数

    本人亲自编译通过的程序,如果无法通过只可能是您的编译环境有问题。本人的开发环境:VC++6.0,使用的是Win32 Console Application

    Lua中调用C函数

    在Linux底下,从Lua中调用C函数的一个简单例子。

    LUA脚本|LUA脚本支持库

    LUA脚本支持库|LUA脚本支持库

Global site tag (gtag.js) - Google Analytics