當我和Lua的工作在C#,我想補充屬性,我想和Lua,這樣的註冊方法:C++和Lua:自動註冊功能
// place tile marker
[LuaExport("settilemarker")]
public void SetTileMarker(int x, int y)
{
TileEditor.X = x;
TileEditor.Y = y;
}
然後,我會用反射在運行時找到所有這些函數並自動註冊它們,併爲每個新函數不必更新一小段代碼。 這也可以用來自動建立一個所有註冊命令清單等容易等
我的問題是,有沒有辦法用C++中的Lua做到這一點?像某種宏,或者某種東西。 這些信息不一定在運行時可用,我只是想方便地將每個函數標記在已定義的位置,並讓它們全部自動註冊,而不是在lua_register(..)s的某個地方有一個長段。
我已經找到了一些似乎能夠爲此生成代碼的工具,但是我希望可能有一種方法除了擊中Build之外不需要任何額外的手動工作。如果不是,我將不得不進一步調查這些工具。順便說一句,使用Visual Studio 2010。
我知道他們沒有反思 - 我只是指出它使得它很容易自動註冊函數,我希望可能有一些類似的簡單方法,不一定在運行時完成,只是不那麼繁瑣爲程序員工作。但是,使用這些公用事業似乎是要走的路。 – tacospice