展望:用lua语言在手机上开发mrp应用

大家都知道,mrp的启动入口是start.mr文件。可是大家有想过吗,这个启动入口是用什么语言写的?
什么?start.mr不是一个简单的配置文件吗?怎么还有“语言”了?奇怪。
呃,如果你不相信的话,就把nes.mrp(38KB)给解压了,删除里面的*.ext再打包,运行。你看到了什么?
现在你相信了吧,*.mr并不是一些简单的配置文件,而是一段可执行程序。那么这些程序是用什么语言写的呢?相信你已经猜到了,答案就是lua。
…待续…
lua - 百度百科
所谓mythroad VM(mrp的虚拟机),就是由lua5.0.3扩展而来的。我们知道:lua有两种执行方式:它不仅可以运行编译后的文件,也可以直接运行脚本(源代码)。我们也知道,nes.mrp里的start.mr在运行后会自动加载win.mr
于是,我做了如下实验:把nes.mrp解压,用一个lua脚本(内容只有一句话:_error("test ok"))替换掉里面的win.mr,打包,运行。得到错误提示如下:
parser not loaded!
脚本解析器未加载!
看来,它只能执行编译后的文件啊。那怎么办呢?于是我想到:我们完全可以自己把一个完整的lua5.0.3移植到手机上啊,这样我们不就可以直接在手机上编译和执行lua了吗?
我要做的很简单,修改lua5.0.3,把它整合到mrp里,制作出mrp版的lua编译器。这样,我们就可以使用lua编mrp程序了。最后一步:把编译结果改名start.mr,打包到mrp里即可。
回复列表(21|隐藏机器人聊天)
  • @Ta / 2011-06-30 / /
  • @Ta / 2011-06-30 / /
    同等,,,我把star.mr删掉依然可以运行,nes模拟器不支持
  • @Ta / 2011-06-30 / /
    不会吧。老虎说的把所有ext文件删了。
  • @Ta / 2011-06-30 / /
    是的,正常情况下删除ext仍然能显示列表,只是可能不能打开游戏(因为我没有游戏所以只显示没有找到游戏)。也就是说nes的列表功能全在win.mr里,只是进游戏时可能用了ext.
  • @Ta / 2011-06-30 / /
    lua能力有限啊……都说了它只适合嵌入……不适合独立……大型应用lua可能无能为力……
  • @Ta / 2011-06-30 / /
    悲剧,谁说要用这语言做大型应用了?你用默默的“手机( ”做一个大型应用试试??我只要它能实现糊资源分离器这么简单的东西就可以了。
  • @Ta / 2011-07-03 / /
    三个mr里后里的内容我看到的都是“口MRP口”,我进到里面看是“  MRP  ”。
  • @Ta / 2011-07-08 / /
    不懂
  • @Ta / 2011-07-08 / /
    cfunction
  • @Ta / 2013-02-04 / /
    @老虎会游泳   现在呢?
  • @Ta / 2013-02-04 / /
    @Xzhang,我没有MRP了。
  • @Ta / 2013-02-04 / /
    @Xzhang,我没有MRP了。
  • @Ta / 2013-02-04 / /
    @淫生过客,如果你还在的话,我可以反驳你了。魔兽世界使用Lua作为它的用户UI和插件引擎。这个使用Lua的大型项目正在无数用户电脑上高效地运行着。
  • @Ta / 2013-02-04 / /
    嘿嘿    @老虎会游泳  百科上看到了魔兽世界!   
  • @Ta / 2013-02-04 / /
    Lua的编译速度真的非常快。大脚插件有几百个Lua文件,WOW可以在十几秒内编译完。大脚自己检查更新都要一分多钟才能读完所有文件。
  • @Ta / 2013-02-12 / /
    @老虎会游泳:谢谢你还记得我。
    我现在也不用MTK山寨机了,Android是大势所趋啊,我也换Android机了。
    但mrp模拟器(mrpoid)不支持Lua,我也不能测试了。
  • @Ta / 2013-02-12 / /
    我的mrp机还在的。
  • @Ta / 2013-02-13 / /
    @老虎会游泳:弱弱问一句……Lua用什么工具开发和编译………
  • @Ta / 2013-02-13 / /
    @老虎会游泳:嘿嘿……老虎,我发现我们真有缘的哦……你在13楼叫我……我就回来了……是不是心有灵犀呢……
添加新回复
回复需要登录