Articles of lua

Как работать с таблицами, переданными в качестве аргумента функции lua C?

Я собираюсь реализовать функцию с языком C и которая будет вызвана сценарием Lua. Эта функция должна получить таблицу lua в качестве аргумента, поэтому я должен прочитать поля в таблице. Я пытаюсь сделать так, как показано ниже, но моя функция сбой при запуске. Может ли кто-нибудь помочь мне найти проблему? /* function findImage(options) imagePath = options.imagePath […]

Lua table.getn () возвращает 0?

Я включил Lua в мое приложение C, и я пытаюсь понять, почему таблица, созданная в моем C-коде, через: lua_createtable(L, 0, numObjects); и возвращается в Lua, произведет результат нуля, когда я вызову следующее: print(“Num entries”, table.getn(data)) (Где «данные» – таблица, созданная lua_createtable выше) В таблице четко указаны данные, так как я могу пройти через каждую пару […]

Проблемы с установкой yaml для lua с luarocks во время c-компиляции

У меня есть lua, что я не могу использовать luarocks. Изменить: в системе Windows Я успешно установил luasocket, загрузив файл luasocket-2.0.2-3.win32-x86.rock из v202-3 . Его более старая версия, но она работает. Однако теперь мне нужно установить yaml, чтобы я мог работать с файлами yaml. Теперь меня вынуждают устанавливать, используя файл * .src.rock или файл .rockspec. […]

Преобразование функции контрольной суммы C в Lua

Я пишу сценарий, чтобы мое хост-устройство могло отправлять файлы данных на подчиненное устройство. Ведомый требует расчета контрольной суммы и добавления к концу моих запросов до отправки файла (ов). Моя проблема заключается в том, что я не только довольно новичок в программировании, но и по-прежнему пытаюсь полностью понять манипуляции с битами. Я сейчас в classе Java, […]

Передача массива в C как аргумент в стеке

Я использую Lua для манипулирования массивами; массивы – это простые двоичные данные: local ram_ctx = {0,0,0,0,0,0,0,0,0} Я хочу передать его в графический интерфейс, написанный на C. Проблема в том, что если я передаю его напрямую, как func (ram_ctx), функция Lua перестает выполняться после вызова. Соответствующая функция C не выполняется (она может быть пустой). Но если […]

Есть ли варианты в Plane2Cylinder искажения imageMagick, чтобы сделать изображение, как показано ниже?

Когда я использовал искажение Plane2Cylinder, я получил изображение, как показано ниже. Но я хочу, чтобы эффект был как второй. Прочтите мой код. local nelem = 1 — number of args local arg = ffi.new(“const double[?]”, nelem, {100}) — local methos = ffi.new(“const int”, 15) return handle_result(self, lib.MagickDistortImage(self.wand,13, nelem, arg, 1)) ffi.cdef([[ typedef void MagickWand; typedef […]

Как я могу загрузить переменные и функции lua без выполнения сценария?

Всюду, где я смотрел, я увидел, что лучшая практика для запуска сценариев lua из многих streamов C – это иметь разные lua_State для каждого streamа. Исходя из этого момента, будьте следующим сценарием: local var1 local var2 — etc. function onClick(x, y) — Process mouse click end function onKey(k) — Process key stroke end — Do […]

Компилировать Lua 5.2.4 Модуль с gcc 5.3.0 в Windows

Мне нужно скомпилировать модуль Lua 5.2.4 с gcc 5.3.0. в Windows. Прежде чем это сделать, я построю Lua 5.2.4 в следующих шагах: gcc -c -DLUA_BUILD_AS_DLL *.c ren lua.o lua.obj ren luac.o luac.obj ar rcs lua524-static.lib *.o gcc -shared -o lua524.dll -Wl,–out-implib,lua524.lib *.o gcc lua.obj lua524.lib -o lua524.exe gcc luac.obj lua524-static.lib -o luac524.exe del *.o *.obj […]

Lua userdata: Невозможно иметь одновременный доступ к массиву и методы

У меня проблема с этим парнем: доступ к массиву Lua userdata и методы где, когда я устанавливаю значение __index из моей метаданных моей userdata, он всегда называется getter, а не мои другие методы, которые не были объявлены для мета-событий. Решение вышеупомянутой ссылки находится в Lua, и я попытался реализовать C-реализацию, которая кажется неэлегантной, но, несмотря […]

Lua – Почему функции C возвращаются как userdata?

Я работаю над сценарием для своего движка и использую метатет для перенаправления функций из таблицы (которая хранит пользовательские функции и данные для игроков) в объект userdata (который является основной реализацией для моего classа Player), чтобы пользователи могли используйте self чтобы ссылаться на оба. Вот как я делаю свою привязку в C # в classе Player […]