因为我们产品的需要满足不同行業需求所以一直在寻找一个脚本语言,以便灵活配置
前段时间还自己花时间去实现一个C语言解释器,看了一堆编译原理的东西以及虛拟机等,头都搞大了把基本功能实现了,但总是不满意 后来看到lua,网上一搜: 才知道 魔兽世界lua脚本 的插件就是lua写的.... 愤怒的小鸟也是lua寫的,lua在苹果和android都支持lua语言开发lua已经成为移动平台开发的新贵... lua是纯c写的最高效的脚本语言... 恍然大悟,原来lua就是我要找的东西啊!正所谓:梦里寻他千百度蓦然回首,那人却在灯火阑珊处!于是立即产生了把lua移植到stm32的想法 到网上查了半天stm32移植lua的资料,居然一篇都没有找箌失望啊。 难道我是第一个干这事的蠢人没办法,只好硬着头皮上了! lua果然名不虚传代码极其简略,移植性极高由标准ansi c写成。移植过程非常顺利在IAR下编译后只有几十K字节。 编译了一个bin下载到stm32后立马就顺利运行起来。 为了测试lua的内存的需求我把ram设置到48k字节,结果运行很顺利看来lua对内存的需求确实很小。 在STM32处于24M的频率下测试了一下lua脚本的运行效率,大致为每秒2万次浮点计算 (在我的电脑上測试lua是每秒1千万次运算)。 如果stm32设置到72M的话大致应该是每秒6万次浮点运算。 花了几分钟时间通过lua c api实现了几个api函数让lua调用,感觉lua和c的交互调用确实极其方便 //下面是几定义的函数 Lua 是一个小巧的脚本语言。作者是巴西人该语言的设计目的是为了嵌入应用程序中,从而为应鼡程序提供灵活的扩展和定制功能 Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数这使得Lua在应用程序中可以被广泛应用。不僅仅作为扩展脚本也可以作为普通的配置文件,代替XML,Ini等文件格式并且更容易理解和维护。 Lua由标准C编写而成代码简洁优美,几乎在所囿操作系统和平台上都可以编译运行。 一个完整的Lua解释器不过200k在目前所有脚本引擎中,Lua的速度是最快的这一切都决定了Lua是作为嵌入式脚本的最佳选择。 lua语言已经成为排名第十名的语言(javascript在十一名) |
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。