встроенный Lua C ++: как я могу загрузить несколько модулей lua со стороны C ++ - PullRequest
3 голосов
/ 23 февраля 2012

в моем приложении я хотел бы загрузить базовую библиотеку в Lua перед загрузкой скрипта lua.

пример:

testLib.lua

A = 5
B = 6

function foo(a,b)
    return a+b
end

test.lua

c = foo(A,B)

В моем модуле C ++ я хотел бы сделать что-то вроде этого

// load the lib 
luaL_loadbuffer(L, libText, libSize, "testLib");
// run it so that the globals are known
lua_pcall(L,0,0,0);
// load the main script that uses the lib function and variables
luaL_loadbuffer(L, progText, progSize, "testLib");
// run it
lua_pcall(L,0,0,0);

здесь я получаю сообщение об ошибке, что функция 'foo' не известна

Есть ли способ загрузить несколько модулей Lua в одном состоянии lua?

спасибо за помощь заранее

1 Ответ

0 голосов
/ 23 февраля 2012

вам нужно сначала связать функцию foo.

http://lua -users.org / вики / BindingCodeToLua

показывает, как это сделать, на примере, где они связывают математические функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...