BUFSIZE = 2^13 -- 8K f = io.input("\学习网址.txt") -- open input file cc, lc, wc = 0, 0, 0 -- char, line, and word counts while true do local lines, rest = f:read(BUFSIZE, "*
lua文档中每一个函数都有一个堆栈变化标记类似 [-o,+p,x] 第一部分o代表有多少元素出栈,第二部分p代表有多少元素入栈(有些函数总是出栈它的参数,入栈它的结果)这部分在一些情况下,有可能是 x|y 形式出现,代表有x或y个元素入栈(出栈), ?标记的意思不能知道有多少个元素出、入栈。 第三部分 x说明函数是否可以抛出错误:-代表函数从不抛出错误。m代表函数只有not enough
1 Introduction 1 导言 This is a no-frills introduction to the instruction set of the Lua 5.1 virtual machine. Compared to Perl or Python, the compactness of Lua makes it relatively easier for someone to
Lua语言是不用声明变量的类型的,而且是类型可变的,如下面的语句: local a = 1; a = “hello”; 开始是a的类型是number,当复制为字符串时,类型改为string,可以通过type(a)查看。那么它是怎么做到的呢?参见如下的TValue定义: typedef struct lua_TValue { // lobject.h, line 73 TValuefield
1.首先下载基于VS的LUA源码,地址为http://luabinaries.luaforge.net/download.html 2.在LIB工程中添加mylib.c文件 3.在文件当中添加如下的代码 #include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
static int myfun(lua_State* L)
{
p
今天,我给我的测试软件框架添加了一个 C 模块,里面封装了一个 sleep 的系统调用。我的目的是在用 Lua 时,要延时的话,不用执行 os.execute("sleep 5") 之类的蹩脚语句,而替之以 mt.sleep(5) 之类的就行了。 我是这样来做到的。 看如下源文件,注意里面的注释。 #include <stdio.h> #include <stdlib.h> #include <
这是我写的一个Lua编程语言简介,因为对Lua的理解一直在加深,所以这个文档一直在更新了。 http://docs.google.com/present/view?id=ddtqv79s_91f56s88dm
调用关系见下图 需要明白的概念: 要清楚什么是chunk,chunk是递归定义的,即lua的脚本程序本身就是chunk,示意如下: ---chunk repeat repeat line = io.read() until line ~= " " print(line) --- chunk function function fact(n) if n==0 then
Lua是一个嵌入式的脚本语言,经常会被用做于游戏脚本。下面介绍它一些经常性的用法。 首先你要用到lua你必须要有lua的库,并且将相关的文件包含进VC头文件路径。 1.获取lua包,解压到指定路径,编译lua: 打开VS2008命令提示,进入lua-5.1.3文件夹,输入"etc/luavs"(编译),所得库文件在src目录下。 2.设置vc环境将生成的库包
<本文引用自 http://bbs.pspchina.net/thread-286132-1-1.html> 本教程将教你如何在PSP上利用lua创建3D图形。在开始阅读本教程之前请确保你已经了解: 如何编写基本的LUA代码。 如何图形化一个3D的平面。 当你结束本教程时你应该能够使用lua的3D函数画出基本的图形,以及如何旋转该图形,并为该图形添加色彩和纹理。我将使用随lua player一
一、C++代码 /************************************************************************
编译步骤:
1、创建一个新的空Win32控制台应用工程。
2、将"luatest.cpp"加入你的工程。
3、选择项目菜单中的属性菜单。
4、在"连接器"的"输入"栏目的"附加依赖项"中输入"lua5.1.lib"。
最近学习了一下 lua 的内容,觉得很是不错。为了使 C++ 和 Lua 之间能够互相访问,可以使用的库是比较多的,但多数比较麻烦。 见过一个 project 使用的是 luabind,之前还一直不明白怎么看不明白程序的结构。 为了能够用 lua 调用 C++ 中的函数,就必须用 lua 的库函数进行注册,最简单直接的就是用 lua_register。 注册之后,需要维护一系列的函数组
Lua脚本调c动态库函数时开始调不成功,通过Lua官方的Mail List才知道:c动态库里的注册函数和Lua脚本的打开库的方式要一致。 1. c动态库的代码: static int lua_msgbox(lua_State* L) { const char* message = luaL_checkstring(L, 1); const char* caption = luaL_
最近一个项目用lua5.1.4和c++联合开发。在开发的开始阶段遇到了一点问题,问题如下: 用命令行运行:lua test.lua lua: error loading modules 'dllforlua' from file './dllforlua.dll': 找不到指定的程序。 因为是第一次使用,这个问题困扰了我好几天。经过多番测试,发现如下规律: 如果用require调用的
尊重作者:http://blog.163.com/zhongxia_sophie/blog/static/53219366200951855010287/#comment=fks_083066082082088070093094082095081085083066093085080069 这里只介绍和插件编写比较有关的几个函数. 详细的Lua手册请参照. table函数库 一部分
回复 #1 shihyu 的帖子 把 lua_open(0) 替换为 luaL_newstate() 就能通过了。lua 5.x版本没有lua_open(int)这个函数。 同理lua_dostring也要用luaL_dostring替换。以下是能编译过的修改版本。 CODE: /* A simple Lua interpreter. */ #include<stdio.h> #in
in plane.lua: -- Just a quick example to show that the virtual -- machine is global to all script currently -- compiled. If you want to reset the VM and -- all its variables etc... call th
嗯,首先,此贴不是牢骚帖。 话题从最近私人的一点工作开始。应 dingdang 的建议,我最近在帮 大唐无双 做一些程序上的工作。接手做这件事情,是因为这个内部被我们称作 dt2 的游戏 engine 关系重大。公司有至少四个项目在使用(另外三个暂处于研发期,尚未公布)。 dt2 用了大量的 lua 代码构建系统,但从系统设计上,沿袭了老的大唐的许多代码。原来的大唐是用 C++ 构建的,为了利用上
前言:又是N久没上来了,也没什么新鲜话想说。反正最近是被杭州的房价憋得抑郁,但是也是只能对自己说要“蛋腚”!今天又被这个lua调用DLL给抑郁了一把,还好网上搜来搜去,终于搜到一位“有识之士”的帖子,帮我搞定了这个“憋屈”的问题。最近很懒,懒得写东西。 Lua调用C的DLL的例子网上也不是很多,其实要说很多的话,转帖是大部分的形式,有好有坏吧。转得多了,倒是让人看得郁闷,因为搜了半天都是一
lua源码剖析(一) 文章分类:C++编程 关键字: 源码 先来看lua中值的表示方式。 #define TValuefields Value value; int tt typedef struct lua_TValue { TValuefields; } TValue; 其中tt表示类型,value也就是lua中对象的表示。 typedef union {