swo2006
C++博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
随笔:12 文章:88 评论:13 引用:0
lua脚本引擎用法(zz)
lua脚本引擎用法总结(1)
前段时间自己弄了个小的开发平台,其实就是一堆类库封装了一下呵,毕竟自己用,方便就好。后来觉得不够灵活,就把lua引进来了。选的平台是luaplus,最新版本的那个。感觉比较方便,随手发出来大家一起研究哈:)
现在总结了一下它的用法:
1、当配置文件用,拿来保存会根据环境变化的初值、常量。
这种用法应该是最没难度,也是最方便的了,因为与常拿来当配置文件的,像ini和xml文件,都不能实现这样的功能
m_sigDebug = true
if (m_sigDebug == true) then
value = "调试中的值"
else
vlaue = "发行版的值"
end
我把它用的一个接口系统中,在调试时返回的目录是本地的,而运行时把debug一关,嘿,俺是懒人嘛。其实也可以有其他的高级应用,luaplus中有向 LuaStateOwner注册变量的方法,所以这个配置文件还是可以很灵活滴,甚至可以将IP地址和CPU号甚至硬件序号发进来,然后实现注册控制呵。 如果没注册,不提供常量,跑不下去了吧,哈?
Re: lua脚本引擎用法总结(2)
2、拿来维护一些易变的算法。
我有一个工具,用VC作了界面,所有的事件、调用全发到LuaStateOwner中了,分别调用不同的.lua文件。于是实现了修改算法,不必改代码,不用重编译。
当然,这样伴随着一个问题,.lua不要直接发出去,编译一下再发。还有,就是我在程序中对.lua的md5验证了一下,这样可以保证别人不要修改俺的代码,因为是和数据库相关的嘛,如果别人可以改代码,那不是把数据库给卖了嘛:)
Re: lua脚本引擎用法总结(3)
3、为LuaStateOwner实现开放的功能库
实现了配置、实现了逻辑算法,但还是觉得不方便,因为在第2种应用方法中,所有的数据要由VC向LuaStateOwner注册,也就是说数据结构发生变化时代码就没用了。这样就不能实现个性化或叫二次开发。
要实现到这一步,有两种方案:
a.增强lua的数据库处理能力,开放数据库给lua直接访问,我自己抓数据过来处理,这样就没问题了呵。
b.为LuaStateOwner扩展功能库,lua中增加一个函数,向VC要数据,我要哪个数据源、哪个表的哪个SQL结果,你给我发过来,创建成table×××。
我选择了b。因为像a计划呵,lua在程序中的地位太超然了,也就是给他的权限太强了。这样容易失控。举例哈,建立数据库连接时要暴露太多信息。有人说我 用VC把usr/pwd注册到LuaStateOwner中去给它用,保密了。那我再举例哈,每个表都要用lua创建,我试过一个20万记录的表,那速 度,汗。不过用VC创建这些表感觉快好多呵,不知是不是错觉呵。
好的想法就要实施哈,我现在想把这种应用封装一下,弄个SERVO(伺服)系统。大体想法是将数据源、常量、网络信息、功能类库通通作为受控的SERVO 向LUA提供。LUA专门负责逻辑、算法(当然,有些算法要求比较BT的像MD5可以用SERVO封一下再给LUA)的实现和业务重组,而SERVO专心 负责数据源的权限控制、常量的演变以及类库接口在访问中的控制这些应用权限上的实现。
好了,写到这儿,我的QQ:25723030,MSN是myao@hotmail.com,欢迎一起讨论。
发表于 2006-11-01 13:19
swo
阅读(1824)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔档案
2007年3月 (1)
2006年11月 (10)
2006年8月 (1)
文章分类
3d(3)
(rss)
c++(18)
(rss)
com(15)
(rss)
fmod(2)
(rss)
lua(3)
(rss)
mfc(4)
(rss)
sdl(1)
(rss)
vc 工程(4)
(rss)
vc图形算法(11)
(rss)
数据压缩(7)
(rss)
线程(2)
(rss)
游戏设计(4)
(rss)
文章档案
2007年1月 (1)
2006年12月 (20)
2006年11月 (31)
2006年9月 (1)
2006年8月 (35)
相册
我的相册
收藏夹
c++收藏(2)
(rss)
c++
azure博客
bjarnes的博克
c++设计网站
CxImage
http://www.eoool.com/Default.aspx?TypeID=0
lua网站
(rss)
vb设计网址
YCGCZJ编程技术大全
zip
zlib
超级菜鸟入门
免费的sdl软件
深入Managed DirectX9(一)
天生我才必有用
云来雾去的个人空间
里面有一些关于xp的使用技巧
搜索
最新评论
1. re: 这样软件开发人才级别的划分你同意吗[未登录]
当然不同意
--1
2. re: 这样软件开发人才级别的划分你同意吗
只能说主观性太强了~~
--coolbf
3. re: 利用CDO实现邮件回执功能
哥们,我用上面的代码发邮件可以,为啥,发件箱接收不到,对方已经接收的通知邮件呢?谢谢 我的QQ号:476699294
--中人
4. re: 这样软件开发人才级别的划分你同意吗
评论内容较长,点击标题查看
--dvb-dvb
5. re: 无损数据压缩
文章如何?有无感想,请回复。
打电话13683484955可以和本人取得联系
--杨帮全
阅读排行榜
1. lua脚本引擎用法(zz)(1824)
2. Iterators and the Generic for(LUA)(1064)
3. Lua脚本语言入门(转载)(1007)
4. SDL: 使 Linux 变得有趣 (zz)(989)
5. 在你的游戏中应用LUA(ZT)(转载)(825)
评论排行榜
1. 这样软件开发人才级别的划分你同意吗(4)
2. Lua脚本语言入门(转载)(0)
3. 在你的游戏中应用LUA(ZT)(转载)(0)
4. lua的网址(0)
5. Lua的多任务机制——协程(coroutine) [转载](0)