0

Luaの状態を保存/シリアル化しようとしています。_Gで見つけたすべてのグローバルを保存/シリアル化する必要があることは知っていますが、見つけたLuaFunctionsを保存/シリアル化する方法がわかりませんでした。を使用しようとしましstring.dumpたが、Lua署名付きの文字列(LuaQでは5バイト)しか配信されません。

string.dump私が呼び出すと、関数は動作します

lua.DoString("print(string.len(string.dump(CountItems)))");

文字列の長さとして5ではなく409を取得します。したがって、ダンプは正しく機能します。LuaInterfaceで問題になる可能性があります。

そこに誰かがいますか、LuaInterfaceを介してLua状態のシリアル化をどのように実現しましたか?

よろしく、ダーク

PS:VS 2010 C#ExpressでLuaInterface2.0.4とともにKopiLua5.1.4を使用しています。

4

1 に答える 1

0

解決しました。

string.dump問題は、返されるバイナリチャンクが文字列として処理されることでした。したがって、文字列の最初のnullバイト、つまり5バイトの後にカットされました。の呼び出しを変更しDoStringて、バイト配列を正しく処理するようにしました。

于 2013-12-19T07:33:43.683 に答える