Lua学习(1),编译Lua与 HelloWorld

前段日子研究了一下python,被她的简洁高效深深吸引。今天在看云风的《游戏之旅-我的编程感悟》时,见他很推崇提到Lua,晚上把它弄下来玩玩——BTW,给游对戏开发有兴趣的朋友,推荐云风的《那些日子》——废话少说,进入正题...


1.下载源代码,http://www.lua.org/ftp/lua-5.1.4.tar.gz

2.编译Lua 源码

  • 先将lua-5.1.4.tar.gz 解压到一个目录,比如:F:/Program/Dev/lua/lua5_1_4
  • 打开 VS2005的命令提示窗(不是cmd,因为cmd不包含编译器和连接器的路径),cd 到F:/Program/Dev/lua/lua5_1_4目录下;
  • 运行“etc/luavs.bat”, ok,此时在src目录下生成了lua.exe、luac.exe等其他几个文件;
  • 讲src目录添加到系统环境变量中。

3. Helloword


用编辑器编写如下代码:

print "hello world"

保存成 hello.lua文件;在当前目录下,执行 lua hello.lua,可看到执行效果。更多关于编辑器环境的设置参考: Lua学习(2) 手工配置Lua的开发工具。

4. 如果用 luac执行编译,例如 luac -o hello.exe hello.lua,可以看到生成的 hello.exe文件,如果执行hello.exe,会得到“ s32evnt1.dll 可安装的虚拟设备驱动程序之dll起始设置失败”错误;如图

找不到 C:/Program Files/Symantec/S32EVNT1.DLL,解决方法是 从http://www.dll-files.com/dllindex/s32evnt1.zip?0VGmVCcDdP下载此文件复制到相应路径即可。
其他解决方法ref  http://fxwh1234.blog.sohu.com/76923565.html

即使解决了S32EVNT1.DLL的问题,hello.exe还是不能运行,luac命令是用来编译lua代码模块的,但是Lua代码是不可独自运行的,强行执行,会提示“***Cpu遇到无效指令”。
而我们在第三部中使用 lua命令可以成功执行,因为Lua.exe是一个Lua的解释器。
除此之外我们还可以用其他宿主语言调用lua代码(例如C/C++),后门的学习会给出。

欢迎转载,请注明来自  Hi,Coder

你可能感兴趣的:(python,cmd,lua,dll,开发工具,编译器)