在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
{--1、环境--} 为了快速入手,使用了小巧快速的vc++6.0编译器 以及在官网下载了Lua安装包..官网地址{--http://10.21.210.18/seeyon/index.jsp--} 两者都安装好后,即可进行
{--2、工程以及配置--} 1、首先用vc++6.0创建一个简单的win32 console application 2、从Lua的安装目录下复制include和lib两个目录下的文件到刚刚创建的工程的目录下。 {include:包含了lua的.h头文件} {lib:包含了lua的动态链接库dll} 3、为了使vc++6.0编译和链接时能找到所需的Lua文件 {在工程下添加刚刚复制过来的所有.h文件,保证编译通过} {在编译器里面设置dll{工程-设置-对象/库模块 那一行的最后添加 lua5.1.lib lua51.lib,保证链接时通过}}
{--3、C++与Lua相互调用例子--} 要调用Lua,首先我们得写一个简单的Lua文件,并把该文件保存到一个路径下,这里比如路径是{F:\\Lua} function add(x, y) n1, n2 = clib();//关于clib()是一个C函数,稍后会介绍到。 print("The first arg"..n1); print("The second arg"..n2); return x + y end 该函数用于计算从C函数传递过来的的两个参数x,y的和。 另外为了方便,这函数里面同时也演示了如何调用Lua如何调用C函数clib()
接下来我们开始编写主函数 #include<stdlib.h> // 这是个C++程序, 所以要extern "C", // 因为lua的头文件都是C格式的 extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } lua_State* L; /* the Lua interpreter */ //给lua调用的c函数必须定义成static int XXX(lua_State *L) static int clib(lua_State *L) { lua_pushnumber(L, 100); lua_pushnumber(L, 200); return 2; 以上的clib()函数就是Lua文件里面要调用的函数 关键代码:lua_register(L, "clib", clib);将函数注册到Lua栈中,使得Lua可以调用到。
而C++如何调用Lua 关键代码:luaL_dofile()以及luaadd()函数 ------------------------------------------------------------------------------------- By Alwaystiys.. From 2014.09.05 At Gz.
|
请发表评论