一直以来,对于需要频繁改动或调整的功能部分,C/C++工程都使用如下方式完成:
1.脚本扩展
2.插件模块
3.更新
优点:
脚本有着无可比拟的灵活性,可以在最终用户端修改代码,功能调整或BUG修复都可以
插件拥有执行效率优势,毕竟是编译后的结果
更新可以更好的保密自己的工程
缺点:
脚本的执行效率低下,且语法往往不与C/C++兼容,要求开发人员多才多能
插件的调整麻烦,细微调整或BUG修复都需要重新编译和测试
更新成本巨大,消耗大量的开发劳动和测试
本文所介绍的并非是完美解决这三个方式的万能方案,主要解决的是脚本和脚本效率的问题
关键词:TCC - 微型C语言编译器
tcc其实不是什么高新产物,它经历了多年的发展(2008年至今),然而却给出了一个十分优秀的扩展解决方案.
能即使编译C文件就意味着你可以将一部分频繁调整的代码作为脚本,在运行时编译运行
也就是说,你只需要熟悉C/C++语法,而不用再研究什么lua,python,js
这样做有如下几个好处:
1.可以传递指针等
2.可以调用系统API
3.编译后执行效率高大上
此外,tcc的编译效率也很快,用来代替.NET做网站服务器都可以
具体的例子和详情见上面给出的链接,下载的.bz2是编译器源码的压缩包,可以使用winrar等打开加压
从此再无function,再无var,再无local,再无Sub,再无....