我正在使用大量類(150+)的C++項目,每個類都有10到300個字段左右的區域。我真的很想爲測試目的提供一個腳本接口,這樣我就可以編寫不需要重新編譯的回調代碼。我想在Lua中這樣做,因爲我比C++更熟悉C API,但如果它能夠節省頭痛,我很樂意在Python中完成這項工作。通過Swig在C++和Lua之間傳遞變量
我已經牢牢掌握瞭如何從我的C++調用Lua函數,反之亦然,並且我知道如何來回傳遞基本數據類型。我的問題是如何使用SWIG在兩者之間共享用戶指定的數據類型。
例如,在我的C++中的某個時候,我可能想要在包含250個字段的對象中評估幾條成員數據。我希望能夠將該對象交給Lua,然後可以(希望?)使用生成的SWIG包裝來操作該對象,顯示某些字段,然後將(可能更改的)對象傳遞迴C++以供繼續使用。
我還希望能夠使用包裝器在Lua中實例化對象的實例,並將其傳遞給C++以用作該對象的正常C++版本。
這可能嗎?有人能指點我一個教程或一個明確的例子嗎?
感謝您提供的任何幫助!
這很好,謝謝你的鏈接!即使只是單向也是一個很大的幫助。 即使我不能在Lua中創建一個對象的全新實例並將它傳回給C++,您知道我是否可以*修改*傳遞給Lua的現有C++對象?也就是說,我可以創建一個C++對象,將它傳遞給Lua,更改Lua中的幾個字段,然後在C++中使用它更新的字段? – zslayton 2009-05-19 19:23:35