7

lua プロジェクトの作成に成功しました。(ここまでは lua スクリプトを実行する単純なコードです。)
しかし、lua スクリプトで c++ 関数と c++ 変数を使用できるようにするにはどうすればよいでしょうか?

例として:

int Add(int x, int y) {
    return x + y;
}

float myFloatValue = 6.0

私はc ++に非常に慣れていないので、複雑になりすぎないことを本当に願っています。ここに私がこれまでに得たコードがあります:

#include "stdafx.h"
extern "C" {
    #include "lua.h"
    #include "lualib.h"
    #include "lauxlib.h"
}

using namespace System;

int main(array<System::String ^> ^args)
{
    lua_State* luaInt;
    luaInt = lua_open();
    luaL_openlibs (luaInt);
    luaL_dofile (luaInt, "abc.lua");
    lua_close(luaInt);
    return 0;
}
4

2 に答える 2

2

Lua C API を使用して行うのではなく、Luabindを使用することをお勧めします。

Luabind は、C++ クラスと関数を Lua に公開するために特別に構築された、かなり高レベルのライブラリです。Lua C API 関数を使用せずに、Lua スタックを操作せずに、など。Boost Python に触発されているため、一方を習得すれば、もう一方をほぼ理解できます。

于 2013-10-15T12:34:43.683 に答える