bytekiller
飞智软行
最新评论
Re:基于IOCP模型的.NET 游戏测试端 superstar 2011-12-30 13:51
不能下载,文件已经损坏
Re:基于IOCP模型的.NET 游戏测试端 9月的风 2011-12-03 11:14
楼主是哪的
Re:C# 打造火拼俄罗斯网络游戏(测试) 幻L林 2010-12-14 13:31
能发去我得QQ邮箱吗?501161181@qq.com我会非常感谢
Re:C# 打造火拼俄罗斯网络游戏(测试) Ou lei 2010-12-13 11:13
下载地址呢?
re: Lua 在.net 中的是非(研究的人似乎不多) zhyk 2009-06-24 17:49
为防止29楼所说的问题,将文字以UTF-8方式传递给lua,这样就不会有问题了。
re: Lua 在.net 中的是非(研究的人似乎不多) zhyk 2009-06-24 17:45
LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s) {
return luaL_loadbuffer(L, s, strlen(s), s);//这里将strlen(s)传给luaL_loadbuffer
}
LUALIB_API int luaL_loadbuffer (lua_State *L, const char *buff, size_t size, const char *name) {
LoadS ls;
ls.s = buff;
ls.size = size;//ls.size就是strlen(s)也就是strlen(ls.size)
return lua_load(L, getS, &ls, name);
}
static const char *getS (lua_State *L, void *ud, size_t *size) {
LoadS *ls = (LoadS *)ud;//这里的ud就是上面的&ls,所以ls->size就是开始的strlen(s)==strlen(ls->s)字符串长度应该正确。
(void)L;
if (ls->size == 0) return NULL;
*size = ls->size;
ls->size = 0;
return ls->s;
}
return luaL_loadbuffer(L, s, strlen(s), s);//这里将strlen(s)传给luaL_loadbuffer
}
LUALIB_API int luaL_loadbuffer (lua_State *L, const char *buff, size_t size, const char *name) {
LoadS ls;
ls.s = buff;
ls.size = size;//ls.size就是strlen(s)也就是strlen(ls.size)
return lua_load(L, getS, &ls, name);
}
static const char *getS (lua_State *L, void *ud, size_t *size) {
LoadS *ls = (LoadS *)ud;//这里的ud就是上面的&ls,所以ls->size就是开始的strlen(s)==strlen(ls->s)字符串长度应该正确。
(void)L;
if (ls->size == 0) return NULL;
*size = ls->size;
ls->size = 0;
return ls->s;
}
re: Lua 在.net 中的是非(研究的人似乎不多) ByteWorker 2009-06-03 23:18
上来看看,LUA,我也是就近取材,现在的.NET 脚本虚礼机倒是不少,说老实话,出了.NET下的中文问题外,我也开始自己实现脚本虚拟机,用来替代掉我工作中的这个C版本的LUA,用类似JAVASCRIPT的语法,我不是很喜欢敲 END
而喜欢{}简介点的符号。.NET下的确有个高手写的NUA,实现了大部分LUA语言的特性,但有很多毛病,不过是纯C#的,所以也很值得学习,特别是PARSER部分,写的很不错,作为手工的递归下降分析器而言,是学习编译原理的很好的代码范本
而喜欢{}简介点的符号。.NET下的确有个高手写的NUA,实现了大部分LUA语言的特性,但有很多毛病,不过是纯C#的,所以也很值得学习,特别是PARSER部分,写的很不错,作为手工的递归下降分析器而言,是学习编译原理的很好的代码范本
re: Lua 在.net 中是非(续) ByteWorker 2009-06-03 23:09
@sttac
你可以把你的邮件地址发下,我把例子发到你邮箱里面去
你可以把你的邮件地址发下,我把例子发到你邮箱里面去
re: Lua 在.net 中是非(续) ByteWorker 2009-06-03 23:08
@sttac
这个问题,我也遇到过,你可以再DEBUG或是RELEASE模式,先从LUA项目开始重新编译,就能解决问题了^_^,试试
这个问题,我也遇到过,你可以再DEBUG或是RELEASE模式,先从LUA项目开始重新编译,就能解决问题了^_^,试试
re: Lua 在.net 中是非(续) sttac 2009-06-01 12:17
能的话 希望把C# Demo代码贴下 谢谢:)
小弟刚刚学Lua
小弟刚刚学Lua
re: Lua 在.net 中是非(续) sttac 2009-06-01 12:16
你好,我下载你的修改版然后测试了下,出现如下异常
C:\Documents and Settings\Administrator>C:\Demo1.exe
未处理的异常: System.IO.FileLoadException: 未能加载文件或程序集“lua51, Version
=0.0.0.0, Culture=neutral, PublicKeyToken=1e1fb15b02227b8a”或它的某一个依赖项。
由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (
异常来自 HRESULT:0x800736B1)
文件名:“lua51, Version=0.0.0.0, Culture=neutral, PublicKeyToken=1e1fb15b02227b8
a” ---> System.Runtime.InteropServices.COMException (0x800736B1): 由于应用程序
配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (异常来自 HRE
SULT:0x800736B1)
在 LuaInterface.Lua..ctor()
在 Demo1.Program.Main(String[] args)
C:\Documents and Settings\Administrator>C:\Demo1.exe
未处理的异常: System.IO.FileLoadException: 未能加载文件或程序集“lua51, Version
=0.0.0.0, Culture=neutral, PublicKeyToken=1e1fb15b02227b8a”或它的某一个依赖项。
由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (
异常来自 HRESULT:0x800736B1)
文件名:“lua51, Version=0.0.0.0, Culture=neutral, PublicKeyToken=1e1fb15b02227b8
a” ---> System.Runtime.InteropServices.COMException (0x800736B1): 由于应用程序
配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (异常来自 HRE
SULT:0x800736B1)
在 LuaInterface.Lua..ctor()
在 Demo1.Program.Main(String[] args)
re: Lua 在.net 中的是非(研究的人似乎不多) scccccc 2009-05-29 05:41
那群是个死群 几天都没见个人说话的,在高手又何意义。
re: Lua 在.net 中的是非(研究的人似乎不多) wtf 2009-03-23 10:05
@沐枫
是的,这里不应该使用strlen来获取字符串长度,原因是lua的字符串是可以保存\0的,也就是说你可以有这么一个字符串d="string\0\0end",它的长度是11个字节,但如果你使用了strlen了,那么lua就会以为这个字符串只有前面6个字节了,这有可能会导致其他的问题。
PS:博主可能是使用lua还不够熟练,感受不到lua的好。我用了lua一年了,开始也是觉得很难接受,后来就越用越感受到人们所说的lua的简洁和优美了,现在是越来越喜欢lua了。
欢迎大家加入QQ群:【Lua高级开发研究群】,群号是83086500,目前本群有金山、腾讯、搜狐等国内一流公司来的高手,欢迎大家的加入
是的,这里不应该使用strlen来获取字符串长度,原因是lua的字符串是可以保存\0的,也就是说你可以有这么一个字符串d="string\0\0end",它的长度是11个字节,但如果你使用了strlen了,那么lua就会以为这个字符串只有前面6个字节了,这有可能会导致其他的问题。
PS:博主可能是使用lua还不够熟练,感受不到lua的好。我用了lua一年了,开始也是觉得很难接受,后来就越用越感受到人们所说的lua的简洁和优美了,现在是越来越喜欢lua了。
欢迎大家加入QQ群:【Lua高级开发研究群】,群号是83086500,目前本群有金山、腾讯、搜狐等国内一流公司来的高手,欢迎大家的加入
re: Lua 在.net 中的是非(研究的人似乎不多) W.Robert 2009-03-18 17:03
在C语言中
printf("靄"");
也不会出错,所以应该不关lua的事。
printf("靄"");
也不会出错,所以应该不关lua的事。
re: Lua 在.net 中的是非(研究的人似乎不多) 郁闷的很 2009-01-06 16:59
@郁闷的很
更正:应该是“结果是后面的"被转义掉了”
更正:应该是“结果是后面的"被转义掉了”
re: Lua 在.net 中的是非(研究的人似乎不多) 郁闷的很 2009-01-06 16:57
lua的中文问题,郁闷的很
大家猜猜下面的lua代码有没有语法错误?有没有输出结果?(lua 5.02)
t={
["靄""]="this is a string" --靄后面是两个双引号
}
print(t["靄""])
答案是:没有语法错误,输出结果为:this is a string
简单分析:
用十六进制编辑器可以看到 <靄>字第二个字节正好是反斜杠 \ 的ascii码,所以,我猜lua在进行语法分析的时候,完全是按照ascii来进行的,导致"靄""在lua眼里就成了"X\"",也就是多了个转义符,如果<靄>字不带任何其他字符的话,["靄"]在lua眼里就成了["X\"],结果是后面的]被转义掉了,方括号没有闭合,引起语法错误。
顺路问一下,这个问题该怎么解决比较好呢?
大家猜猜下面的lua代码有没有语法错误?有没有输出结果?(lua 5.02)
t={
["靄""]="this is a string" --靄后面是两个双引号
}
print(t["靄""])
答案是:没有语法错误,输出结果为:this is a string
简单分析:
用十六进制编辑器可以看到 <靄>字第二个字节正好是反斜杠 \ 的ascii码,所以,我猜lua在进行语法分析的时候,完全是按照ascii来进行的,导致"靄""在lua眼里就成了"X\"",也就是多了个转义符,如果<靄>字不带任何其他字符的话,["靄"]在lua眼里就成了["X\"],结果是后面的]被转义掉了,方括号没有闭合,引起语法错误。
顺路问一下,这个问题该怎么解决比较好呢?
re: Lua 在.net 中的是非(研究的人似乎不多) Red_angelX 2008-10-08 17:32
收藏个.. 某个国内游戏用的lua 正好要研究做GUA...
re: Lua 在.net 中的是非(研究的人似乎不多) bytekillerr 2008-10-08 15:02
@kyuiop
:) ,这个 只能怨WOW为什么不选择其它的脚本引擎
:) ,这个 只能怨WOW为什么不选择其它的脚本引擎
re: Lua 在.net 中的是非(研究的人似乎不多) kyuiop 2008-10-08 14:59
我做过一段WOW的界面开发.
十分讨厌LUA的语法和基础函数库.
最脑残的就是local函数的定义的顺序了. 例如:
local function func1()
func2() --错,无法找到func2
end
local function func2()
end
十分讨厌LUA的语法和基础函数库.
最脑残的就是local函数的定义的顺序了. 例如:
local function func1()
func2() --错,无法找到func2
end
local function func2()
end
re: Lua 在.net 中的是非(研究的人似乎不多) Jason Cui 2008-10-08 12:13
我做的抓取采用的是动态编译C#代码文件来解决的。何必这么麻烦呢?