2013-03-30 75 views
1

我正在用C++中的字節碼機制作腳本語言,只是爲了好玩。我打算將它與編輯器一起用於簡單的遊戲。但是我需要在腳本中改變場景節點的位置,旋轉等。這意味着我必須計劃一個綁定系統。我根本不瞭解任何關於綁定的知識,以及如何做到這一點。這有什麼主要的方法和技術?如何爲腳本語言提供綁定支持

回答

1

如果您想要使用腳本語言調用的固定數量的原始函數,則可以在虛擬機中爲它們添加指令。參見例如Betz,「Embedded languages」,Byte #12(Nov 1988)409-416(如果你能找到一份副本)。

但是,在運行時綁定名稱更靈活。爲此,您需要實現一個用於保存全局變量和函數的環境,以及一個用於從C註冊它們的API。總而言之,這是一個相當大的設計和工作。例如,看看Lua如何在Passing a Language through the Eye of a Needle中處理這個問題。

+0

是的,我認爲它會成功。我可以註冊一個通用模板的函數:func(std :: list arguments)。我也可以用類來做同樣的事情:define onMethod(int,std :: list arguments)。這些將是包裝函數和類。謝謝。 –