由于lua是用标准C写的,所以嵌入VC++里时,必须要用
extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
来声名.
下面是我用VC++按lua文档里写的一个读取lua文件里的公共变量的程序
int GetWidthHeight(int &nWidth, int &nHeight )
{
int width, height;
int x, y;
lua_State *L = lua_open();
lua_cpcall(L, luaopen_base, 0);
lua_cpcall(L, luaopen_io, 0);
lua_cpcall(L, luaopen_string, 0);
lua_cpcall(L, luaopen_math, 0);
if (luaL_loadfile(L, "G://lua-5.1.2//Test//Test.lua") ||
lua_pcall(L, 0, 0, 0) )
{
TRACE1("cannot run configuration file: %s",
lua_tostring(L, -1) );
}
lua_getglobal(L, "width");
lua_getglobal(L, "height");
lua_getglobal(L, "x");
lua_getglobal(L, "y");
if (!lua_isnumber(L, -4))
{
TRACE0("/'width/' should be a number/n" );
}
if (!lua_isnumber(L, -3))
{
TRACE0("/'height/' should be a number/n" );
}
if (!lua_isnumber(L, -2))
{
TRACE0("/'x/' should be a number/n" );
}
if (!lua_isnumber(L, -1))
{
TRACE0("/'y/' should be a number/n" );
}
nWidth = width = (int)lua_tonumber(L, -4);
nHeight = height = (int)lua_tonumber(L, -3);
x = (int)lua_tonumber(L, -2);
y = (int)lua_tonumber(L, -1);
lua_close(L);
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wgm001/archive/2007/08/13/1740232.aspx
由于lua是用标准C写的,所以嵌入VC++里时,必须要用
extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
来声名.
下面是我用VC++按lua文档里写的一个读取lua文件里的公共变量的程序
int GetWidthHeight(int &nWidth, int &nHeight )
{
int width, height;
int x, y;
lua_State *L = lua_open();
lua_cpcall(L, luaopen_base, 0);
lua_cpcall(L, luaopen_io, 0);
lua_cpcall(L, luaopen_string, 0);
lua_cpcall(L, luaopen_math, 0);
if (luaL_loadfile(L, "G://lua-5.1.2//Test//Test.lua") ||
lua_pcall(L, 0, 0, 0) )
{
TRACE1("cannot run configuration file: %s",
lua_tostring(L, -1) );
}
lua_getglobal(L, "width");
lua_getglobal(L, "height");
lua_getglobal(L, "x");
lua_getglobal(L, "y");
if (!lua_isnumber(L, -4))
{
TRACE0("/'width/' should be a number/n" );
}
if (!lua_isnumber(L, -3))
{
TRACE0("/'height/' should be a number/n" );
}
if (!lua_isnumber(L, -2))
{
TRACE0("/'x/' should be a number/n" );
}
if (!lua_isnumber(L, -1))
{
TRACE0("/'y/' should be a number/n" );
}
nWidth = width = (int)lua_tonumber(L, -4);
nHeight = height = (int)lua_tonumber(L, -3);
x = (int)lua_tonumber(L, -2);
y = (int)lua_tonumber(L, -1);
lua_close(L);
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wgm001/archive/2007/08/13/1740232.aspx
分享到:
相关推荐
在VC6.0环境下,嵌入LUA的方法。主要解决编译不通过 (比如unresolved external symbol _luaL_newstate 之类的问题) 附带了较全的用来作为初次尝试的资料。...希望能帮到同样是初次尝试LUA嵌入VC++的你。
技术应用分享会Lua嵌入脚本语言编程.pptx
将lua嵌入到c/c++ 将lua嵌入到c/c++
lua游戏AI编程入门-3
VC知识库文章 - 将Lua嵌入到自己的程序中.htm
Lua 编程入门教程。Lua一种脚本语言,是C语言扩展功能利器。
内容索引:VC/C++源码,其它分类,LUA VC++将LUA嵌入到应用程序中的演示,主要是介绍一种方法,让更多朋友知道如何操作及实现。
lua面向对象编程类库笔记(源码中)
lua游戏AI编程入门-2
coocs2d核心编程代码。。。lua。。游戏开发,包含各种核心编程第二版demo
Lua经典编程书籍, 编程指南.doc ,Lua程序设计_第二版_中文.dpf ,Programming in Lua, 2Nd Edition.pdf。 lua编程书籍,高清版,带目录,非常好的参考书
Terra是一种低级系统编程语言,嵌入在Lua编程语言中并由其元编程。_C++_Terra_下载.zip
在vc++中嵌入动态解析语言Lua的演示代码。
c++与lua相互调用编程实例(vs2012 win32工程). 载入项目后,请重新编译一下lua源码项目。 参考 http://blog.csdn.net/wangbin_jxust/article/details/37557807重新配置一遍。 Cpp_lua_call项目应该放lua源码,cpp_...
Cocos2d x之Lua核心编程
lua常用脚本函数的封装,可以嵌入到支持C编译的任何系统
这是完整的vs2010工程项目,已经包含了依赖,可以直接跑起来。还可以根据需要编译成 x86或x64版本。如果遇到问题,欢迎反馈:http://blog.csdn.net/mycwq/article/details/52318908
中文编程, Lua语言,5.4.0版本, 函数和关键字可以用中文编写进行编程的,教材的第一个例程。 有没有喜欢中文编程的朋友,请关注我博客内,有更多的例程。
Cocos2dx Lua开发的核心技术。本书从Lua语言基础开始,全面介绍了Cocos2dx Lua的基础知识、基本应用和高级编程技术,并最终介绍了游戏的实战开发。全书贯穿理论结合实践的编写方式,各个章节都提供了配套实例。
《罗布乐思开发官方指南:Lua 语言编程》读书笔记模板x.pptx