LuaInterfaceインスタンスに渡す必要のあるバイト配列がC#コードにあります。Luaでpack()を使用し、結果の文字列をC#に渡して、で変換することはできますSystem.Text.Encoding.UTF8.GetBytes()が、逆の方法ではうまくいかないようです。
簡単な解決策はありますか?バイト配列をグローバル値に割り当てないようにしたいと思っています。
編集:
私は今朝いくつかの新しいことを試みました。を使用してみましたが、LuaDLL.cppLuaInterface.GetFunction()でヒットするまですべてが機能します。lua_pushstring()この時点で、C#文字列は。を介してchar*に変換されMarshal::StringToHGlobalAnsi().ToPointer()ます。この関数はnullで終了する文字列を想定しているようで、文字列の最初のバイトは0なので、luaコードで空の文字列を取得します。