Отличный пример интеграции Lua-C здесь и здесь .
Если вам просто нужно экспортировать функцию в глобальное пространство имен, то:
- Объявить функцию (назовем ее
f
) с подписью lua_CFunction
. - Вызов
lua_register(L, "myfunc", f)
, где L - это состояние Lua, а функция = f
. - Запустите код lua.Тогда
f
будет доступно в глобальном пространстве имен как myfunc
.
Если вы собираетесь использовать стандартный интерпретатор, то вы можете создать библиотеку. Этот парень написал статью для Lua Programming Gems , в которой объясняется, как это сделать.Источники доступны онлайн.