lua学习笔记1---VC下lua环境的搭建

这篇博客是关于Lua初学者在Windows环境下,使用VC搭建lua5.1使用环境的记录。内容包括lua5.2的编译过程,以及在VC下如何快速设置lua5.1环境,特别是利用SciTE作为IDE。博主参考了经典电子书《Lua程序设计》和《Lua-5.1中文手册》,并分享了在创建第一个lua工程时的修改细节。
摘要由CSDN通过智能技术生成

本人是Lua的初学者,了解了Lua的一些法语与特性,希望趁现在有空研究Lua的源码,写一个学习笔记,边学习边记录。
对于Lua的语法,有两个经典的电子书,分享如下:
Lua程序设计:http://dl.dbank.com/c0c0fbks4f
Lua-5.1中文手册:http://dl.dbank.com/c0fn9ud061

因为我的ubuntu11.04主机出了点问题,今天的东西都写在windows下,主要有两部分:lua5.2的编译与VC下搭建lua5.1的使用环境。

Lua5.2的编译
最近lua论坛非常火,lua5.2发布了,本人也趁着这股风下了新的版本(www.lua.org)。
在windows下使用dev-c进行编译,dev-c使用的是gcc,也有make.exe程序,只要在环境变量中加入make.exe的路径就可以在cmd下使用make了。
进入lua-5.2.0目录,执行make generic (因为平台支持里没有windows,选择默认的generic,详细说明见lua-5.2.0\doc\readme.html)
编译很快,成功,生成lua.exe luac.exe lualib.a。
简单测试,当然是helloworld了。

VC下lua5.1环境的搭建
在lua-5.2.0\doc\readme.htm中有在other system下的building,因为懒就没做,直接用了SciTE(非常好的lua IDE,网上可下载)中lua5.1已经编好的文件。
加入include files

加入lib

新建工程FirstInstance,使用《lua程序设计》(上文的分享中有)24.1节的代码,但要做如下修改:
1.

#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
改为:
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
要不会出现Link2001。
2.
luaopen_base(L);         /* opens the basic library */
luaopen_table(L);        /* opens the table library */
luaopen_io(L);           /* opens the I/O library */
luaopen_string(L);       /* opens the string lib. */
luaopen_math(L);         /* opens the math lib. */

改为:
luaL_openlibs(L);
因为自5.1之后的版本已经不这么初始化了。
修改好的代码为:
#include <stdio.h>
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}

#include <string.h>

int main (void)
{
	
    char buff[256];	
    int error;
	
    lua_State *L = lua_open();  /* opens Lua */	
    luaL_openlibs(L);
	
	
    while (fgets(buff, sizeof(buff), stdin) != NULL) 
	{
		
		error = luaL_loadbuffer(L, buff, strlen(buff),			
			"line") || lua_pcall(L, 0, 0, 0);
		
		if (error) 
		{
			fprintf(stderr, "%s", lua_tostring(L, -1));			
			lua_pop(L, 1);/* pop error message from the stack */			
		}		
    }	
	
    lua_close(L);	
    return 0;	
}

最后,别忘在工程中加入lua5.1.lib。即可

这样就有了自已的解释器了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值