背景
我接到一个需求, 将我写的一个Lua脚本使用C++封装起来, 说实话我不想这么做, 因为我觉得这么做没有意义, 首先这个脚本是给一个行业软件作输入的, 也就是说这个行业软件是"解释器", 这个Lua里大量调用了这个行业软件的C API. 其目的就是为了适应业务的快速多变性,所以将这个Lua脚本封装成C++我觉得是画蛇添足...
无奈
但是接到需求,自然不能不做啊,这其中的道理我就不多加论述了
实现
我没有将整个程序重写, 这个程序的功能太多了, 重写的工作量太大了(其实最关键的是我不想这么做), 我就想着将整个Lua程序作为一个字符串, 让C++ 调用 Lua C API 直接执行这个"大字符串", 这就是思路, 这样我的Lua程序就不需要修改了, 后面有新的需求我就直接操作这个Lua文件, 然后再封装到这个C++模块中
问题
在实现的过程中遇到了问题, 问题就是这个程序有1M多的大小, 当作一个大字符串直接放到程序中, 编译器会报告字符串太大了, 这个时候需要明白编译时编译报错和运行时错误在概念上的区别, 只有这样才能在最短的时间解决这个问题, 不过我由于当时没有想明确的概念, 致使花费了40分钟才解决, 也算是一个教训了
总结
明白事物发展的规律, 才能真正顺其道而行
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。