戒毒好方法有哪些:Lua
来源:百度文库 编辑:中财网 时间:2024/10/05 11:12:33
第一个Lua程序
分类于 Lua, 代码人生 | 733 次点击 | 发表评论 »由 Apex 发表于 2006-10-29.lua测试脚本
在编写第一个Lua程序之前,我们先编写一个.lua脚本以供调用,代码如下:
下载: test.lua- -- test.lua
- print("Hello Lua !")
其中,两个连续的减号意味着这是一行注释。我们期望执行这个.lua脚本的结果是在屏幕上打印一串“Hello Lua !”的字符串。
提示:多行注释使用“--[[
”开始,以“]]
”结束。
内嵌Lua解释器
现在我们来写一个最简单的控制台程序,并在其中内嵌Lua解释器,运行该程序,可以执行test.lua脚本,在屏幕上打印出我们希望的结果。先来看代码,然后再解释代码内容:
下载: testlua.cpp- extern "C"
- {
- #include "../include/lua/lua.h"
- #include "../include/lua/lualib.h"
- #include "../include/lua/lauxlib.h"
- }
- #pragma comment(lib,"../lib/liblua.lib")
- int main ( int argc, char *argv[] )
- {
- /* the Lua interpreter */
- lua_State* L;
- /* initialize Lua */
- L = lua_open();
- /* load Lua base libraries */
- luaL_openlibs(L);
- /* run the script */
- luaL_dofile(L, "test.lua");
- /* cleanup Lua */
- lua_close(L);
- return 0;
- }
看看这代码,我都不用作解释了。 :)
编译上述代码,最终我们会有两个文件:testlua.exe和test.lua。将这两个文件放到同一个目录下,在命令行模式执行testlua.exe,就可以看到我们期望的输出了!
就是这么简单!!下一次,我们将尝试在.lua脚本中调用主程序(testlua.exe)内部的C函数~~
编译Lua库并配置开发环境
分类于 Lua, 代码人生 | 1,275 次点击 | 发表评论 »由 Apex 发表于 2006-10-21要在自己的程序中使用Lua,我们必须将Lua解释器核心编译到自己的程序中来,无论是直接编译到主程序中,还是作为外部DLL调用,总之,第一件事情是编译Lua解释器核心。
说明:以后的操作如果没有特别注明,就是在Windows平台上进行的。
首先,到Lua官方网站下载最新的Lua源代码,得到的是一个.tar.gz。可以用流行的压缩软件如WinZip,WinRAR,或者开源的7z(推荐使用)来解开。解开的目录中有一个src目录,整个Lua核心代码就在这里了。
我们在Windows平台上拟使用Visual C++6.0来进行试验,但是src目录中并没有VC6使用的工程文件。这个问题很好解决:在VC6中新建一个Win32 StaticLibrary静态库工程,建议工程名称设置为liblua,工程路径指向Lua的src目录,最好的方式是先设置工程名称,然后修改工程路径(为什么?你试试就知道了 -:) )。在随后的工程设置向导中,不要加入任何设置,即,不要勾选“Pre-Compiled Header”和“MFCSupport”选项。
接下来,将所有src中的所有 .c (lua.c除外)和 .h 文件加入到工程中,编译,就可以得到我们想要的静态库 liblua.lib 文件了。
在我们自己的软件项目中,只需要 liblua.lib 和 几个头文件就可以开发了, 所以我们需要把这些文件整理一下,放到合适的位置。我是这样放的:
建立include目录,然后在include目录下建立lua目录,将下列文件复制到lua目录下:
- lauxlib.h
- lua.h
- luaconf.h
- lualib.h
建立和include目录同级的lib目录,将编译好的 liblua.lib 放到这里。可以参考下图:
图中,exe和dll两个目录是打算用来存放自己写的测试程序的。
这样,我们的开发环境就配置好了,下一次,我们将开始做第一个调用lua脚本的小程序,来真正体验lua的威力。
Lua,一种强大的轻量级脚本语言
分类于 Lua, 代码人生 | 1,195 次点击 | 评论(2) »由 Apex 发表于 2006-10-18Luais a powerful light-weight programming language designed for extendingapplications. Lua is also frequently used as a general-purpose,stand-alone language. Lua is free software.
Lua是葡萄牙语中的“月亮”的意思,发音为:LOO-ah。
Lua是一个强大的轻量级脚本语言,主要设计来扩展应用程序功能。当然,Lua也经常被作为一个通用、独立的语言使用。Lua是免费软件,而且是开源的,目前版本为5.1。
所谓的轻量级,意思是,仅仅需要在你的程序中增加额外约50Kb的开销,就能够为你的应用程序增加脚本执行功能。
Lua的应用极为广泛,举两个例子:一是火热的网络游戏《魔兽世界》,就使用Lua作为应用界面扩展语言,很多外挂程序如“魔兽精灵”和“魔兽小强”就是用Lua来开发的。Lua是《魔兽世界》的官方扩展接口语言。另外一个比较有意思的是SONY推出的次世代掌机PSP,在固件程序被破解后可以运行自制程序,于是有人将Lua移植到PSP上(Lua Player),并扩展了Lua的接口,方便游戏程序的二次开发,于是,PSP上基于Lua的自制游戏和小软件如同雨后春笋般大量出现。
出于工作的需要,更多的是个人兴趣,我会在一段时期内学习研究Lua的应用,并会陆陆续续记录一些心得,希望能够与有共同爱好的朋友交流。