Alexyz21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Victor_VG Было сказано Си массивы потому, что они ffi с 0 based, а не луа таблицы с 1 based. Lua таблицы ощутимо медленнее. shmuz Хотелось бы некий пример того, что должно быть в луа скрипте и Си программе, чтобы на базе него мог бы потом создавать другие решения. В данном случае да, можно передать лишь исходные данные - переменные, полученные из обработанной строки введённой пользователем (в луа ввод обрабатывать удобнее + си код меньше). Локализовал все доступные функции: Код: local ffi_copy=ffi.copy local bit_lshift = bit.lshift local far_FarClock,far_Flags,far_InputBox,far_AdvControl,far_Message = far.FarClock,far.Flags,far.InputBox,far.AdvControl,far.Message local io_open,io_write = io.open,io.write local math_floor,math_fmod,math_ceil = math.floor,math.fmod,math.ceil local panel_GetUserScreen,panel_SetUserScreen = panel.GetUserScreen,panel.SetUserScreen local string_format,string_gsub,string_sub,string_find,string_match,string_gmatch,string_rep = string.format,string.gsub,string.sub,string.find,string.match,string.gmatch,string.re» local table_insert = table.insert local win_GetEnv,win_Utf8ToUtf16,win_Uuid = win.GetEnv,win.Utf8ToUtf16,win.Uuid | - ускорения не наблюдается - они все вне движка, чисто интерфейс. Даже замена ffi.copy на ffi_copy ничего не дала, хотя она единственная внутри движка. Надо вообще от неё отказаться, использовать смещение указателя крыша поехала ))) , это же луа, не си. | Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 13:51 11-08-2021 | Исправлено: Alexyz21, 14:09 11-08-2021 |
|