1

最終的に、C++ を使用して自分のコンパイラで Lua を実行することができました。いくつかのチュートリアルを開始しようとしましたが、最初のプログラムは何もしません。彼らが使用したコードをダウンロードしましたが、それでも何もしませんでした。ただし、エラーはありません。テストは正常に出力されますが、luaL_dostring から応答がありません。v5.1.4-46 を使用しています。エラーにならないような方法で誤ってインストールした可能性はありますか? lua 状態のメモリ アドレスを出力したところ、動作しているようです。誰かが実行するサンプル コードを提供してくれれば、本当に感謝しています。

コードは次のとおりです。

#include <lua.hpp>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    lua_State *L = lua_open();
    luaL_openlibs(L);

    cout << "Test" << endl;

    luaL_dostring(L, "print(\"Hello from Lua!\n\")");

    lua_close(L);
    return 0;
}
4

1 に答える 1

5

dostring 構文は無効な Lua コードを生成します... "\n" は実行前に lua パーサーに渡されます。「\\n」が必要です...そう思います。したがって、「luaL_dostring」エラー コードは実際には構文エラーです。面白いこと...

テスト以外の目的で dostring を使用しないでください。

于 2012-10-03T21:21:59.413 に答える