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代码














  • 相关阅读:
    TCP源码—连接建立
    TCP系列02—连接管理—1、三次握手与四次挥手
    TCP系列01—概述及协议头格式
    ubuntu软件管理apt与dpkg
    318. Maximum Product of Word Lengths
    317. Shortest Distance from All Buildings
    316. Remove Duplicate Letters
    315. Count of Smaller Numbers After Self
    314. Binary Tree Vertical Order Traversal
    313. Super Ugly Number
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6471061.html
Copyright ? 2011-2022 开发猿


http://www.vxiaotou.com