C++ 封装Lua之我行我素
背景
我接到一個需求, 將我寫的一個Lua腳本使用C++封裝起來, 說實話我不想這么做, 因為我覺得這么做沒有意義, 首先這個腳本是給一個行業(yè)軟件作輸入的, 也就是說這個行業(yè)軟件是"解釋器", 這個Lua里大量調(diào)用了這個行業(yè)軟件的C API. 其目的就是為了適應(yīng)業(yè)務(wù)的快速多變性,所以將這個Lua腳本封裝成C++我覺得是畫蛇添足...
無奈
但是接到需求,自然不能不做啊,這其中的道理我就不多加論述了
實現(xiàn)
我沒有將整個程序重寫, 這個程序的功能太多了, 重寫的工作量太大了(其實最關(guān)鍵的是我不想這么做), 我就想著將整個Lua程序作為一個字符串, 讓C++ 調(diào)用 Lua C API 直接執(zhí)行這個"大字符串", 這就是思路, 這樣我的Lua程序就不需要修改了, 后面有新的需求我就直接操作這個Lua文件, 然后再封裝到這個C++模塊中
問題
在實現(xiàn)的過程中遇到了問題, 問題就是這個程序有1M多的大小, 當作一個大字符串直接放到程序中, 編譯器會報告字符串太大了, 這個時候需要明白編譯時編譯報錯和運行時錯誤在概念上的區(qū)別, 只有這樣才能在最短的時間解決這個問題, 不過我由于當時沒有想明確的概念, 致使花費了40分鐘才解決, 也算是一個教訓了
總結(jié)
明白事物發(fā)展的規(guī)律, 才能真正順其道而行
總結(jié)
以上是生活随笔為你收集整理的C++ 封装Lua之我行我素的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]Java并发编程:线程池的使用
- 下一篇: 2016年下半年勒索软件数量翻倍