用Lua辅助C开发

阅读更多
如果朋友们的开发环境,有perl、python和php可用,大可不必学习Lua这门语言,但是如果开发环境是很苛刻(笔者的环境是OpenWRT,只有C可用),那就可以考虑嵌入Lua,它的小巧,真可谓嵌入式开发的最佳伴侣。

如果说,shell是"命令粘合语言",那么Lua可以称为“函数粘合语言”,这也是Lua存在的价值,Lua可以方便的与C交互。

嵌入式开发的一般流程:coding,编译,除错,编译,上传ipk,运行,查看log...;即使想加一条调试语句,或改变一下参数值也要重复这个开发过程,很繁琐;引入Lua后,这个过程可以大大的加速,你可以把经常改变的参数和逻辑用Lua实现(比如超时值,某个语句处加一条print...),一次编译之后,可以直接在开发板上反复修改和运行,当然,开发板上要有vi。

当然不要改的太多,因为开发板上没有版本管理,避免未把已修复部分并入代码;所以,要做好bug记录,修复一条之后,及时提交代码。

另一个导致C开发效率底的地方是malloc和字串比较,这部分也可以用Lua实现,不必担心有泄漏和字串非法引用。

当用Lua辅助C开发时,注意不传递table,太复杂,最好只用传递数值和字串。

关于Lua的书,比较好的就是“programming in lua”,笔者看了这本书之后,有些部分感觉写的很复杂,比如:用C做闭包、在C层保存数据,这些东西可能几百年也用不了一回,但这本书是Lua发明人写的,这些对他来说可能信手拈来。

你可能感兴趣的:(lua,嵌入式,c)