SWIG Lua 草案

lua-users home
Wiki

SWIG/Lua 草案

正在進行工作的節錄評語

多階段模組載入

Lua 的其中一項座右銘是「機制,而非政策」。事實上,Lua 並沒有預先定義的物件模型。它提供一層薄薄的語法糖(: 和 self)以及一組小小的強大機制(環境、元表、閉包和協程),共同允許使用各種不同的物件風味。

由於這是 Lua 的方法,我們必須在設計 SWIG/Lua 時遵循它。這表示我們必須在 SWIG 和 Lua 之間提供某種程度的靈活性。另一方面,我們應注意不要讓 Lua 不同於其他 SWIG 目標語言,而導致其模組介面有太多不同,降低重用性。

SWIG 在靈活性方面提供了許多選項,但依賴 SWIG 類型對應和指令技巧會混淆介面。也需要撰寫一些 C,而這並非 SWIG 和 Lua 使用者通常有興趣的!

這導致建立 Lua 本身之中 Lua 側包裝的特定解決方案 [1]。

我們提供以下基本機制

第 1 及 2 階段很簡單。第 3 及 4 階段依賴 宣告式技術以獲得清晰度和功能性。

[1] 相較之下,SWIG/Lua 的目前官方實作使用單一任意物件結構,而這個結構是以 C 寫成硬代碼,存在於執行時期 SWIG 程式庫的某個地方。是的,產生的模組仍然可以進行調整,但是高層級資訊已經遺失,而且這是一個脆弱的方法。


-- ThomasLefort

歡迎留言。


最新變更 · 偏好設定
編輯 · 歷史記錄
最近編輯時間為 2007 年 10 月 10 日凌晨 12:57(GMT)(diff)