В Lua загружаю библиотеку написанную мной на C++ (я предварительно переписал и скомпилировал C++ код под Lua5.3)require("luacdll")
Файлы luacdll.dll и файл lua положил в папку с quik. При загрузке dll выдает ошибку
error loading module 'luacdll' fr om file '.\luacdll.lua':
.\luacdll.lua:1: too many C levels (lim it is 200) in main function near '"luacdll"'
Компилировал библиотеку на C++ под Win64 Relise в Visual Studio 2017
регистрировал внешние функции так
extern "C" LUALIB_API int luaopen_luacdll(lua_State *L) {
// эта функция выполнится в момент вызова require() в Lua-коде
// регистрируем реализованные в dll функций, чтобы они стали дуступны для Lua
#if LUA_VERSION_NUM >= 502
lua_newtable(L);
luaL_setfuncs(L, ls_lib, 0);
lua_setglobal(L, "luacdll");
#else
luaL_openlib(L, "luacdll", ls_lib, 0);
#endif
return 0;
}
Если указать в коде Lua перед загрузкой модуля dll
package.cpath = "C:\\Open_Broker_QUIK_AGromazin\\luacdll.dll"
Ничего не меняется
Файлы luacdll.dll и файл lua положил в папку с quik. При загрузке dll выдает ошибку
error loading module 'luacdll' fr om file '.\luacdll.lua':
.\luacdll.lua:1: too many C levels (lim it is 200) in main function near '"luacdll"'
Компилировал библиотеку на C++ под Win64 Relise в Visual Studio 2017
регистрировал внешние функции так
extern "C" LUALIB_API int luaopen_luacdll(lua_State *L) {
// эта функция выполнится в момент вызова require() в Lua-коде
// регистрируем реализованные в dll функций, чтобы они стали дуступны для Lua
#if LUA_VERSION_NUM >= 502
lua_newtable(L);
luaL_setfuncs(L, ls_lib, 0);
lua_setglobal(L, "luacdll");
#else
luaL_openlib(L, "luacdll", ls_lib, 0);
#endif
return 0;
}
Если указать в коде Lua перед загрузкой модуля dll
package.cpath = "C:\\Open_Broker_QUIK_AGromazin\\luacdll.dll"
Ничего не меняется