zoukankan      html  css  js  c++  java
  • 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代码














  • 相关阅读:
    Linux下Java环境安装
    Go语言学习之10 Web开发与Mysql数据库
    Go语言学习之9 网络协议TCP、Redis与聊天室
    Redis入门指南之三(入门)
    Redis入门指南之一(简介)
    Go语言学习之8 goroutine详解、定时器与单元测试
    Redis入门指南之二(安装及配置)
    Go语言学习之7 接口实例、终端文件读写、异常处理
    Go语言学习之6 反射详解
    Go语言学习之5 进阶-排序、链表、二叉树、接口
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6471061.html
Copyright © 2011-2022 走看看