作者: ksmrt0123 (ksmrt) 2013-07-28 01:50:00
我做過類似的東西. 我是把script先編成中間碼並且存成.H檔, 主程式寫一個執行中間碼的virtual machine,再把.h檔include進來一起make出執行檔你的程式看來是在PC執行, 速度與容量應該都不是問題, 這樣的話不需要中間碼跟virtual machine, 直接把script轉成 char array include進來, 原來從file讀的改成從array讀應該就可以了
作者:
EdisonX (卡卡獸)
2013-07-28 16:56:00@ksmart~ : 程式"目前"綁定 PC/windows 無誤,只是您說的script 轉成 char array, 再改從 array 讀, 是否能再詳加說明 或是能有個參考網站、keyword ?? 謝謝您的回覆。
作者: ksmrt0123 (ksmrt) 2013-07-29 11:37:00
.s轉成.h需要寫一個小程式, 把.s的內容的每個字元一個個轉成.h檔內的array初始值定義. 轉出的.h檔內容大致如下const char script[] = {'\n', '#', 'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e',' ', ':", ' ', 's', 'a', 'm', 'p', 'l', 'e', '.',and so on};原程式 Execute.cpp 再include這個.h檔, 就可從script[] 讀到原來 .s的內容, make出來的 Execute.exe就不需再讀 sample.s 了