lua.c:80:31: fatal error: readline/readline.h: No such file or directory

2015-12-23 杜世伟 Lua

Centos Lua环境安装

curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz

tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make linux test
#make linux test
cd src && make linux
make[1]: Entering directory `/data/lua/lua-5.3.0/src'
make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[2]: Entering directory `/data/lua/lua-5.3.0/src'
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lapi.o lapi.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lcode.o lcode.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lctype.o lctype.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o ldebug.o ldebug.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o ldo.o ldo.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o ldump.o ldump.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lfunc.o lfunc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lgc.o lgc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o llex.o llex.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lmem.o lmem.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lobject.o lobject.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lopcodes.o lopcodes.c

阅读全文>>

标签: lua centos readline

评论(0) 浏览(18323)

lua 中的assert 与loadstring 问题

2015-4-13 杜世伟 Lua

loadstring 通过加载一个符合lua语言规范的字符串 返回一个lua function,

例如:

local str = "print 'dushiwei.cn'"
local str = loadstring(str)
assert(str)()

local str = "print 'dushiwei.cn'"
local str = loadstring(str)
等价于 local script = function()
            print 'dushiwei.cn'
        end

阅读全文>>

标签: lua loadstring assert

评论(0) 浏览(4710)

Lua编译与运行

2015-4-12 杜世伟 Lua

   Lua是解释性语言,但Lua会首先把代码预编译成中间码然后再执行。不要以为需要编译就不是解释型语言,Lua的编译器是语言运行时的一部分,所以,执行编译产生中间码速度会更快。

  dofile/dostring和loadfile/loadstring的区别:

  (1)do*会编译并执行;load*只编译代码生成中间码并且返回编译后的chunk作为一个函数,但不执行代码。

  (2)load*较为灵活,发生错误时load*会返回nil和错误信息(可以打印出来)。

  (3)如果要运行一个文件多次,load*只需要编译一次,但可以多次运行,do*每次都需要编译。

  (4)dostring(str)等价于loadstring(str)()

阅读全文>>

标签: lua loadstring dofile dostring loadfile

评论(0) 浏览(4460)

lua clone

2014-7-18 杜世伟 Lua

clone

深度克隆一个值。

格式:

function clone(object)
    local lookup_table = {}
    local function _copy(object)
        if type(object) ~= "table" then
            return object
        elseif lookup_table[object] then
            return lookup_table[object]
        end
        local new_table = {}
        lookup_table[object] = new_table

阅读全文>>

标签: lua clone

评论(0) 浏览(3163)

在window下如何通过protoc-gen-lua导出所需要的lua文件?

2014-6-14 杜世伟 Lua

在window下如何通过protoc-gen-lua导出所需要的lua文件?

最近在cocos2dx的项目中,需要在LUA脚本层使用protobuf协议。于是开始研究protobuf在LUA下的实现,将完整的过程记录了下来,希望对其它人能有所帮助。

1、下载protoc-gen-lua

可以通过HG从服务器(hg clone https://code.google.com/p/protoc-gen-lua/)上下载最新的版本。

简单介绍一下里面的三个目录:

example 存放的一个示例协议,

阅读全文>>

标签: lua protoco

评论(0) 浏览(4158)

Lua 随机数生成问题

2014-3-14 杜世伟 Lua

lua 随机战斗游戏,每次每次创建玩家的时候属性基本都是一样的,因为使用了math.randomseed(os.time());看完以下文章是math.randomseed()时间间隔太短造成的

Lua 生成随机数需要用到两个函数:
math.randomseed(xx), math.random([n [, m]])

1. math.randomseed(n) 接收一个整数 n 作为随机序列种子。

阅读全文>>

标签: lua math random

评论(0) 浏览(4057)

lua 随机战斗游戏

2014-3-12 杜世伟 Lua

----初始化玩家数据
function create_player()
for num=1,2,1 do  -- 创建两个玩家
local tmp = {name="newplayer",hp=0,mp=0,atk=0,def=0,spd=0,luk=0,mg=0}
randomseed();
tmp.hp  = math.random(400,1000);
tmp.mp  = math.random(1,100);
tmp.atk = math.random(1,100);
tmp.atk = math.random(1,100);
tmp.spd = math.random(1,100);
tmp.luk = math.random(1,100);
tmp.mg = math.random(1,100);
table.insert(players,tmp);
end
end

阅读全文>>

标签: lua math random

评论(0) 浏览(4080)

Lua中的table函数库整理与实践

2014-2-12 杜世伟 Lua

Lua table库由一些操作table的辅助函数组成。他的主要作用之一是对Luaarray的大小给出一个合理的解释。另外还提供了一些从list中插入删除元素的函数,以及对array元素排序函数。

Lua中是没有array概念的,不过可以通过tabel数据结构实现对array的操作。以下是lua提供的函数,可能版本不同支持的函数也有所不同了

阅读全文>>

标签: lua table table.setn table.getn table.remove table.sort

评论(0) 浏览(6434)

linux lua 安装

2014-2-9 杜世伟 Lua

首先,从Lua的官网(http://www.lua.org/)下载最新发布包(PS:我下载的是lua-5.2.3.tar.gz发布包,以下步骤全部以此版本为示例,请针对自己下载的具体版本作相关修改)。 第一步:wget http://www.lua.org/ftp/lua-5.2.3.tar.gz 其次,使用tar -xzvf /path-to-your-lua-tar-file-folder/lua-5.2.3.tar.gz命令解压缩,将得到一个lua-5.1.4文件夹。

阅读全文>>

标签: linux linux· lua

评论(0) 浏览(3936)

Lua math函数

2013-8-13 杜世伟 Lua

math.pi 为圆周率常量 = 3.14159265358979323846

阅读全文>>

标签: lua math

评论(0) 浏览(3276)

Powered by emlog 沪ICP备2023034538号-1