您的位置:首页 > 编程语言 > Lua

paip.c++ lua 调用attilax总结.

2013-10-10 12:31 218 查看
paip.c++ lua 调用attilax总结.

作者Attilax , EMAIL:1466519819@qq.com

来源:attilax的专栏

地址:http://blog.csdn.net/attilax

安装lua ... LuaForWindows_v5.1.4-46.exe (25M)

////////////////////////////////////////////////

Download Lua_V5.1.4-46.exe from Google Code

包括文档,例子等...实际的lua 很小,几百kb..

//////////////编辑*.lua文件

IDE使用D:\Program Files\Lua\5.1\SciTE\SciTE.exe,可以单步调试.测试

name="attilax"

print (name)

file = io.open("c:\lualog.txt","a")

--用'写模式'打开a.txt 不存在则新建文件

file:write("Hello world.\n")

--将字符串写入文件

file:close()

////////////命令行调用测试lua.exe *.lua

引用lua.h以便编译以及以及lua的dll 以便链接

////////////////////////////

INCLUDEPATH += "D:\Program Files\Lua\5.1\include"

#LIBS+="D:\Program Files\Lua\5.1\lib\lua5.1.dll"

LIBS+="D:\Program Files\Lua\5.1\lib\lua51.dll"

c++源码:

////////////////////

#include "mainwindow.h"

#include <QApplication>

extern "C" {

#include "lua.h"

#include "lualib.h"

#include "lauxlib.h"

}

#include <iostream>

#include <string>

using namespace std;

int main(int argc, char *argv[])

{

lua_State *L = lua_open(); //初始化lua

luaL_openlibs(L); //载入所有lua标准库

/* 运行脚本 D:\Program Files\Lua\5.1*/

// luaL_dofile(L, "c:\luaTestC9.lua"); //ok

luaL_dofile(L,"D:\\Program Files\\Lua\\5.1\\luaTestC9.lua");

lua_close(L);//关闭

return 0;

}

//////////////////加入lua lib dll到path,以便运行

D:\Program Files\Lua\5.1\clibs

D:\Program Files\Lua\5.1\lib

///////////////////调用中发现的问题以及解决:

1073741515错误。。

原因:有文件没找到...

调用pm,调试,发现不能找到*.lua路径错误...修理成双引号为路径分割,..走ok..

lua5.1.dll以及lua51.dll区别

////////////////////////////////////

其中lua5.1.dll大小合适,lua51.dll只有11K,感觉不像是个有用的lua dll

lua51.dll完全是一个lua5.1.dll的代理类,没有任何实际的代码,仅仅是做一个到lua5.1.dll的forwarding。

为啥会需要一个这样的东西呢?

原来是3年前有人确定了一个lua51.dll名字的动态库,并且,有人觉得我们非常需要在5和1之间加一个点,不然lua的5.1版岂不是看成lua的51版了?

历史原因:

一个错误的决定,但是已经发布了,很多第3方的库也发布了,并且依赖于LuaBinaries的这个lua51.dll,于是

现在难以撤销的不幸决定。。。。。。。。。。。。

文档资料:

////////////////////

Lua程序设计.chm

luaer.cn

参考

lua51.dll,lua51.lib 和 lua5.1.dll 和lua5.1.lib 的区别 - xiexievv的专栏 - 博客频道 - CSDN.NET.htm

Lua小部分文件io操作方法 - 朱大仙 - 博客园.htm

lua与c++的相互调用 - 笑对人生的专栏 - 博客频道 - CSDN.NET.htm

在C++中使用Lua(一)-wwm-ChinaUnix博客.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: