Вопрос по луа 5.4

Страницы: 1
RSS
Вопрос по луа 5.4
 
решил пересобрать  библиотеку с 5.3 на 5.4
Уткнулся в проблему

Функция в dll:

static int b4s_xxx(lua_State *L)
{
const char *buffer = "message(\"hello world\")";
int result = luaL_dostring(L, buffer, strlen(buffer));

lua_pushnil(L);
return 1;
}

Вызываем из standalone lua

require "testlib"
message = print
testlib.xxx()

Выводит hello world

Вызываем из квика

require "testlib"
testlib.xxx()

ничего не выводит.


Теряюсь в догадках. Кто может подсказать?  на 5.3 проблем не наблюдалось
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Здравствуйте.

Могли бы Вы, пожалуйста, уточнить используемую Вами версию терминала QUIK ?
 
Цитата
s_mike@rambler.ru написал:
решил пересобрать  библиотеку с 5.3 на 5.4
Уткнулся в проблему

Функция в dll:

static int b4s_xxx(lua_State *L)
{
const char *buffer = "message(\"hello world\")";
int result = luaL_dostring(L, buffer, strlen(buffer));

lua_pushnil(L);
return 1;
}

Вызываем из standalone lua

require "testlib"
message = print
testlib.xxx()

Выводит hello world

Вызываем из квика

require "testlib"
testlib.xxx()

ничего не выводит.


Теряюсь в догадках. Кто может подсказать?  на 5.3 проблем не наблюдалось
вообще-то, у Вас ошибка в записи макроса.
См документацию:
luaL_dostring (lua_State *L, const char *str); //2 аргумента
а у Вас:
luaL_dostring(L, buffer, strlen(buffer)); //3 аргумента
 
все работает в Lua 5.4
 
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
s_mike@rambler.ru написал:
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
нет не в этом,
я собираю библиотеки с 5.4.4  и  все работает без проблем.
--------------
Я не понял как Вы собрали dll с ошибкой в вызове.
Возможно Вы не увидели ошибку и у Вас осталась dll от 5.3
В итоге она и повисла у Вас при запуске в 5.4
 
Цитата
s_mike@rambler.ru написал:
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
Я вам не правильно ответил.
Я использую для сборки lib, которую сделал из dll.
 
Цитата
s_mike@rambler.ru написал:
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
Уточнил, я тоже использую Lua 5.4.2.
 
Вообще-то, нет никакой разницы какую вы используете версию 5.4 так как в КВИКЕ будет работать dll из папки КВИКА
а lib которую используете при сборке лишь содержит указатели на dll.
типа:
Код
luaC_fullgc lua54.dll lua54.dll/ 1608127225              0       40        `
luaC_step lua54.dll lua54.dll/   1608127225              0       40        `
       `
 
Цитата
s_mike@rambler.ru написал:
5.4.1 я не смог найти, если подскажете где , будет здорово.
  Здесь:  https://www.lua.org/ftp/
 
О. Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Страницы: 1
Читают тему
Наверх