`
java6ean
  • 浏览: 41609 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用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发明人写的,这些对他来说可能信手拈来。
分享到:
评论

相关推荐

    Windows C/C++与游戏逆向辅助开发

    学习C/C++基础, 并从内存和汇编的角度深入理解C++, 为以后的逆向做好基础铺垫 学习Windows常用API函数、网络通信(socket和http协议)、线程池等 实战MFC、大漠插件、雷电模拟器控制、MySQL数据库操作基础、Lua、游戏...

    更新后的 支持解释性语言编程的串口调试工具,增加了曲线绘制功能,专为单片机调试而开发

    Lua是一种类似C的非常简单的解释型语言,可以随时修改并使用 , 很方便对单片机调试时 完成对串口的自动响应, 并实现例如实现单片机程序下载烧录等复杂功能. 具体见Normal_Demo.lua 或者 自带的两个Lua 例程 init.lua...

    安卓代码编辑器 Code Editor 0.5.5 中文免费版.zip

    ★超过 110 种语言(c ++,java,javascript,html,markdown,php,perl,python,lua,dart等)的语法突出显示。 ★代码辅助,折叠和自动完成。 ★轻松在多个选项卡之间导航。 ★撤消和重做更改没有限制。 ★搜索...

    Edgame make脚本游戏大师v1.3(无例程)

    1.使用轻型脚本语言(Lua),扩展了中文支持,大量内置扩展函数库,降低游戏制作门槛. 2.方便外接各种插件,支持纯中文易语言DLL,搭配各种第三方扩展类,模块,插件,工具更加高效。 3.脚本速度优秀,可制作各种类型2D游戏,...

    Edgame Maker 1.1 正式版

    1.使用轻型脚本语言(Lua),扩展了中文支持,大量内置扩展函数库,降低游戏制作门槛. 2.方便外接各种插件,支持纯中文易语言DLL,搭配各种第三方扩展类,模块,插件,工具更加高效. 3.脚本速度优秀,可制作各种类型2D游戏,包含...

    Edgame Maker 1.1正式版

    1.使用轻型脚本语言(Lua),扩展了中文支持,大量内置扩展函数库,降低游戏制作门槛. 2.方便外接各种插件,支持纯中文易语言DLL,搭配各种第三方扩展类,模块,插件,工具更加高效. 3.脚本速度优秀,可制作各种类型2D游戏,包含...

    Edgame Maker 1.2版

    1.使用轻型脚本语言(Lua),扩展了中文支持,大量内置扩展函数库,降低游戏制作门槛. 2.方便外接各种插件,支持纯中文易语言DLL,搭配各种第三方扩展类,模块,插件,工具更加高效. 3.脚本速度优秀,可制作各种类型2D游戏,包含...

    notepad++ v5.30 汉化版

    C , CSS, Pascal, Perl, Python, Lua, TCL, Assembler, Ruby, Lisp, Scheme, Properties, Diff, Smalltalk, Postscript 及 VHDL. 打印所见即所得(WYSIWYG) ,如果你有彩色打印机,你可以把你的原始码以多种颜色...

    强悍文本编辑器 - Notepad++ v5.3 Final 多国语言版

    为了产生小巧且有效率的代码编辑器,这个在GPL许可证下的自由软体开发专案採用 win32 api 和 STL 以 C++ 程式语言撰写成,并且选用功能强大的编辑模组 Scintilla。多亏它的轻巧与执行效率,Notepad++ 可完美地取代...

    AssetBundle框架设计_框架篇视频课程

    一、热更新系列(技术含量:中高级):A:《lua热更新技术中级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之...

    KSFramework:QQ群:538722494,KSFramework = KEngine + SLua(或xLua),Unity3D FrameworkToolsets专注于热重载

    是一个整合的KEngine,SLua / XLua的Unity 5 Asset Bundle开发框架,并为程序,美术,策划,运营提供辅助工具集。 赞助 ,支持API的数据表,完美实时协同,可用于丝滑般的项目管理,游戏策划配置表,数据整理等...

Global site tag (gtag.js) - Google Analytics