Próbowałem osadzić lua w aplikacji C++, ale bezskutecznie, ponieważ kompilator narzeka na "lua_open". Używam Lua 5.2.Umieszczanie Lua w C+Osadzanie Lua w C++
Znalazłem wiele artykułów twierdzących, że lua_open() został zastąpiony w piątej wersji, ale żadna z nich nie została wymieniona z czym.
Oto kod próbuję skompilować
extern "C" {
#include "../lua/lua.h"
#include "../lua/lualib.h"
#include "../lua/lauxlib.h"
}
int main()
{
int s=0;
lua_State *L = lua_open();
// load the libs
luaL_openlibs(L);
luaL_dofile(L,"example.lua");
printf("\nDone!\n");
lua_close(L);
return 0;
}
'lua_open' był już nieobecny w podręczniku 5.1. Działa tylko w przypadku zgodności, która została usunięta w wersji 5.2. – lhf
Zobacz także bardzo pomocną odpowiedź przepełnienia stosu z przykładem funkcji lua_Alloc() z linkami do dokumentacji lua. http://stackoverflow.com/questions/3880798/lua-runs-out-of-memory –
Oto druga odpowiedź przepełnienia stosu, podająca kilka dodatkowych informacji dotyczących alokacji pamięci lua http://stackoverflow.com/questions/11324117/ how-do-modern-vms-handle-alokacja pamięci –