由于Kernel FP的編譯結果是獨立的,執行的時候不需要源代碼的符號的參與,因此可以將編譯結果進行序列化與反序列化。
編譯的時候,首先創建VL_KfpSymbol編譯代碼,然后使用VL_KfpSymbol創建VL_KfpMachine。這個時候,Symbol和Machine分別擁有源碼級別和符號級別的反射功能。Machine可以保存為一個xml文件,并且可以脫離Symbol從xml恢復出Machine。但是從xml恢復出的Machine跟源代碼已經脫離關系,因此無法從Machine還原出Symbol,這種Machine的構造方法只能使用符號級別的反射功能,不能使用源碼級別的反射功能。
下一步打算寫一個宿主程序。這個宿主程序向Kernel FP提供簡單的繪圖API和窗口控制API,然后使用Kernel FP來寫簡單的游戲。宿主程序通過加載xml來執行游戲。如果宿主程序不打算支持直接讀取源代碼并運行的話,那么就有必要實現一個單獨的編譯器程序。這個編譯器程序讀入一個makefile來生成xml。預計makefile的內容有:
1、Kernel FP源代碼文件
2、外部函數聲明文件
3、編譯錯誤輸出位置
4、xml輸出位置
5、編譯報告輸出位置
6、makefile繼承
如果makefile可以雙擊就調用編譯器的話,開發過程將會變得非常方便……
posted on 2008-12-23 00:50
陳梓瀚(vczh) 閱讀(1569)
評論(0) 編輯 收藏 引用 所屬分類:
腳本技術