Eric Tetz

lua-users home
wiki

在張貼完 CreatingBinaryExtensionModules 之後我立即發現類似的 BinaryModuleTutorial。不過該教學課程並未討論 Lua API 常式位於何處的問題。如果它們已靜態連結至主機應用程式,則延伸無法使用它們(除非寫入主機以傳遞函式指標給 DLL,也就是「載入函式庫」範疇以外的機制)。因此 DLL 必須靜態連結至它自己的 Lua API 常式副本。假設 Lua API 使用任何靜態變數(我不清楚它是否會使用),則主機和延伸會有個別的副本,而且可能會造成嚴重問題。

不過,由於 BinaryModuleTutorial 中未提及此問題,這似乎表示 Lua 並未使用任何靜態資料,而且如其中所述建立模組實際上可行。它只會浪費空間,因為每個延伸模組都包含了整個 Lua API 的副本。


RecentChanges · 喜好設定
編輯 · 歷史紀錄
最後編輯於 2003 年 8 月 31 日下午 5:48 GMT (diff)