編集2:ルアC質問
**詳細な説明をしたいと思います。私はC言語のNOOBです。
Luaソースコードを使って、Luaコードのブロックを実行するLuaインタプリタを作成するにはどうすればよいですか? Luaコードのブロックはchar
として送信されます。
編集2:ルアC質問
**詳細な説明をしたいと思います。私はC言語のNOOBです。
Luaソースコードを使って、Luaコードのブロックを実行するLuaインタプリタを作成するにはどうすればよいですか? Luaコードのブロックはchar
として送信されます。
からのLuaを呼び出すことを教えてくれます、同じタイプのものブロックを実行し、それを実行するためにlua_call
への呼び出しを行います。これがどのように行われたかについての本当の良い例については、example provided here:をご覧ください。
任意LuaのAPI関数への最初の引数は常にlua_open()
例の戻り値であるインタプリタ状態であり、実際には少し簡単C文字列をコンパイルするためにlua_load
への呼び出しをラップしたluaL_loadbuffer
を使用します。 The Auxiliary Libraryを扱うリファレンスマニュアルの章で、その使い方を読むことができます。これにより、luaスタックの先頭にチャンクが残されます。これはlua_call
で呼び出すことができますが、この例ではエラートラップを提供するlua_pcall
を使用しています。あなたがちょうどコンパイルしたチャンクは何も引数を取らず(チャンクで関数ではありません)、興味のある戻り値を持たず、エラーが生成されたのと全く同じものを見たいので、最初の引数(常にluaインタプリタの状態)以外の引数はゼロにすることができます。
http://www.lua.org/manual/2.1/subsection3_7_6.html
http://lua-users.org/lists/lua-l/2006-10/msg00405.html例
http://www.debian-administration.org/articles/264 C++、
これはどのようにコンパイルするlua_load
への呼び出しを必要とC.
ありがとうございました。私はちょうど何か新しいことを学んだ:) –
いいね。試してみる –
この関数でargsをどのように満たすことができますか? –
他の質問への私の答えを見てください:http://stackoverflow.com/questions/4272231/how-does-lua-load-work/4272661#4272661 – lhf