Size: a a a

2020 November 01

H

Hello, World! in pro.lua
Snusmumriken
Можешь ли ты вшить луа-скрипт в кусок сишного кода, который будет запускать луёвую виртуальную машину и пускать по ней этот скрипт? Да. Происходит ли подобное само собой или средствами инструментов? Нет.
Да, раньше немного на Си писал, поэтому смогу наверное
источник

H

Hello, World! in pro.lua
Я так понимаю, мне из си кода нужно запустить интерпретатор lua, и запустить в нём файл main.lua например.
источник

S

Snusmumriken in pro.lua
Лично у меня просто есть чуть модифицированный интерпретатор луа, который автоматом запускает файл main.lua из той же директории где лежит этот модифицированный интерпретатор. Поэтому я могу редактировать скрипт и шарить его спокойно. Типа, прога + код к ней.
источник

S

Snusmumriken in pro.lua
Hello, World!
Я так понимаю, мне из си кода нужно запустить интерпретатор lua, и запустить в нём файл main.lua например.
Не совсем, луа-код будет торчать наружу. И если мне это норм — то ты хотел "скомпилировать".

Поэтому объявляешь в сишном коде огромный char array, в котором будет нужный тебе луа-код, и заставляешь lua_State его исполнить.
источник

H

Hello, World! in pro.lua
Snusmumriken
Не совсем, луа-код будет торчать наружу. И если мне это норм — то ты хотел "скомпилировать".

Поэтому объявляешь в сишном коде огромный char array, в котором будет нужный тебе луа-код, и заставляешь lua_State его исполнить.
Как я помню в Си нет string и мне нужен массив с символами?
источник

S

Snusmumriken in pro.lua
Ды ))
источник

H

Hello, World! in pro.lua
Если отдельный файл lua, то он его не упакует?
источник

S

Snusmumriken in pro.lua
Он его может исполнить.
источник

S

Snusmumriken in pro.lua
Но никто ни во что не упакует.
источник

А

Александр in pro.lua
Snusmumriken
Лично у меня просто есть чуть модифицированный интерпретатор луа, который автоматом запускает файл main.lua из той же директории где лежит этот модифицированный интерпретатор. Поэтому я могу редактировать скрипт и шарить его спокойно. Типа, прога + код к ней.
ты сам его сделал? можешь поделиться?
источник

S

Snusmumriken in pro.lua
Александр
ты сам его сделал? можешь поделиться?
Оно у меня под 32-разрядный вендовый luajit.
Но там прост берёшь текущую рабочую директорию и пытаешься исполнить файл main.lua из неё через luaL_dofile.
источник
2020 November 04

AS

Anatoliy S in pro.lua
Всем привет, ребяты подскажите по такому вопросу, впервый раз столкнулся с проблемой - есть либа dll, компилил из исходников сам, с помощью MS Visual Studio 2019, для 32х битного луа она подключается с помощью require отлично и все работает без проблем, захотел начать её юзать в 64-х битном луа, перекомпилил в студии либу под 64 бит, подключаю либу с скрипте с помощью require - и скрипт выдает ошибку прямо на этой строчке с require - attempt to index global   'имя либы'  (a boolean value)
источник

AS

Anatoliy S in pro.lua
Загуглил ошибку - оказывается случается она у людей часто с самыми разными либами и модулями, необязательно с бинарными, даже с lua модулями подключаемыми с помощью require
источник

AS

Anatoliy S in pro.lua
источник

AS

Anatoliy S in pro.lua
Там человек подключал модуль    -   local game = require("data.game_model")
источник

AS

Anatoliy S in pro.lua
и ему выкинуло ошибку -  Attempt to index local 'game' (a boolean value)
источник

AS

Anatoliy S in pro.lua
И ответ ему был таков:
источник

AS

Anatoliy S in pro.lua
It means that the module data.game_model did not return anything when it was loaded.
In this case, require returns true.
источник

AS

Anatoliy S in pro.lua
Т.е. загружаемый с помощью require модуль не вернул ничего, а должен вернуть true, поэтому и ошибка
источник

AS

Anatoliy S in pro.lua
В итоге они там скрипт data.game_model.lua  переделали и он стал выдавать при помощи require то что нужно, но у меня то не  скрипт на луа у меня бинарник dll как я его переделаю? Переделывать исходники на Си чтоли? И почему же тогда этот бинарник скомпиленный под 32бита не выдавал никакой ошибки?\
источник