C++ 封装Lua之我行我素

发布时间:2019-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了C++ 封装Lua之我行我素脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

我接到一个需求, 将我写的一个Lua脚本使用C++封装起来, 说实话我不想这么做, 因为我觉得这么做没有意义, 首先这个脚本是给一个行业软件作输入的, 也就是说这个行业软件是"解释器", 这个Lua里大量调用了这个行业软件的C API. 其目的就是为了适应业务的快速多变性,所以将这个Lua脚本封装成C++我觉得是画蛇添足...

无奈

但是接到需求,自然不能不做啊,这其中的道理我就不多加论述了

实现

我没有将整个程序重写, 这个程序的功能太多了, 重写的工作量太大了(其实最关键的是我不想这么做), 我就想着将整个Lua程序作为一个字符串, 让C++ 调用 Lua C API 直接执行这个"大字符串", 这就是思路, 这样我的Lua程序就不需要修改了, 后面有新的需求我就直接操作这个Lua文件, 然后再封装到这个C++模块中

问题

在实现的过程中遇到了问题, 问题就是这个程序有1M多的大小, 当作一个大字符串直接放到程序中, 编译器会报告字符串太大了, 这个时候需要明白编译时编译报错和运行时错误在概念上的区别, 只有这样才能在最短的时间解决这个问题, 不过我由于当时没有想明确的概念, 致使花费了40分钟才解决, 也算是一个教训了

总结

明白事物发展的规律, 才能真正顺其道而行

C++ 封装Lua之我行我素

脚本宝典总结

以上是脚本宝典为你收集整理的C++ 封装Lua之我行我素全部内容,希望文章能够帮你解决C++ 封装Lua之我行我素所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。