Inellok
Ну вроде быы
Inellok
проверю ещё раз
Igor
Нельзя
Arslan
Inellok
Ага, это не то
Igor
Ты вообще что-то странное написал
Inellok
Очень
Inellok
--lua 5.3 function bruh(table_) return table_[1] end print( bruh{"hi"} )
Igor
Так и в 5.1 можно
Snusmumriken
function example{bruh = 4, bro = 3} return 4 + 3 end
Инициализировал и "вызвал" функцию одновременно ))
Arslan
О, Снюс проснулся
Snusmumriken
Сам ты снюс.
Arslan
Сам ты снюс.
Как изволишь себя называть?
Snusmumriken
О, Снюс проснулся
Когда освоишь луа и стек технологий на моём уровне — будешь искажать снуса куда захочешь.
Igor
Даже на такие жертвы готов, чтобы мотивировать людей на обучение😂
Snusmumriken
Snusmumriken
Думаю что это ещё нескоро (если вообще), а будущий я переживёт.
Igor
Пооффтоплю чуть-чуть: Кто-нибудь в QEMU запускал нативную aarch64 видну 10? А то у меня что-то даже до установки не доходит, процесс QEMU только одно ядро процессора грузит и лого винды показывает, а дальше нини
Igor
Даже IO операции никакие не идут
Snusmumriken
Это очень интересный вопрос. Я бы ковырнул несколько ВМ.
Igor
Мне просто интересно стало, как одна моя программка себя чувствовать будет на винде под ARM
Igor
А малинку трогать жалко, у меня на ней веб сервер и ещё много чего крутится
mva
Мне просто интересно стало, как одна моя программка себя чувствовать будет на винде под ARM
на самом деле, твоя идея не приведёт к сколько бы то ни было репрезентативным результатам
mva
в обоих случаях того, чего ты хочшеь добиться: Если ты хочешь проверить запуск x86-вендопрограммы на arm'овинде, то ты в данном случае триггеришь двойную софтварную кросс-архитектурную трансляцию. Не говоря уже о том, что между слоями там ещё оверхед от обоих ОС. Это будет ОЧЕНЬ медленно. Если же ты хочешь проверить скоспилированную под ARM версию программы, то оно, хоть и не будет так медленно, всё равно не освобождает тебя от недостатков медленности софтварной кросс-архитектурной эмуляции на x86. Ну и, впринципе, в этом случае нет особых причин переживать за самочувствие программы, если ты в ней не использовать x86 ASM ;)
Igor
Не 86ой
Igor
У меня уже бинари есть от aarch64, я их кросскомпилером собрал, мне не столько производительность интересна, сколько работоспособность без внесений изменения в код
mva
ну, как я уже намекнул, если не было использовано ничего платформозависимого, то если оно собралось, то должно работать (иначе это вина не твоя, а компилятора) :)
Igor
Ну это ясное дело, прожка-то без варнов собралась, но хочется убедиться в отсутствии крашей
mva
ну, как вариант ты можешь попробовать запустить её под вайном на той своей малине (впрочем, зависит от того что именно за вайн туда запаковали смейнтейнеры)
mva
по правильному там должен быть aarch64-вайн (надеюсь, там не попались упорки, запаковавшие виртуализацию x86 в коробку к нему)
Igor
А разве есть arm64 вайн либы?
Igor
Ну именно от 10ки
mva
ну, смотря насколько сложно у тебя приложение
mva
если ему "базовой" системы, которую предоставляет вайн не хватит, то печалька
Igor
Вообще хватит
mva
впрочем, способ "поворовать либы с установленной венды" в случае вайна работает вот уже лет эдак 25 :)
Igor
Но я сомневаюсь в том, что есть вайновские библиотеки arm64
mva
https://wiki.winehq.org/ARM
mva
впрочем, статья, видать, немного устарела
Igor
"Meanwhile we support these new ARM PEs for win8! "
Igor
Хм, ну судя по всему виндовые arm PEшки поддерживаются
mva
там делается акцент на восьмёрочные времена, но в самом начале написано что по дефолту вайн запускает нативные arm-бинари
Igor
Надо будет попробовать, авось что выйдет
mva
а вообще, на худой конец, можно в IRC сходить, на фринод, на канал вайна и там поспрашивать
Лепикоршев
Господа (и дамы), кто-нибудь на visual studio 2019 успешно lua подключал?
Лепикоршев
а можно с самого начала - вот есть пустой экран студии...
Snusmumriken
Тебе библиотеку или приложение?
Лепикоршев
я хочу и язык подключить, и интерпретатор 5.3
Лепикоршев
имею ввиду, чтобы студия могла луа-проекты билдить, и читать разметку
Лепикоршев
весь мой опыт сред разработки луа под окнами - LuaForWindows в режиме по умолчанию.
Лепикоршев
Но очень захотелось начать
Snusmumriken
Ну кароч, 1. Создаёшь новый проект (win32/консольный/с окошком, какой хочешь); 2. В папку с проектом — добавляешь директорию /lib, в неё пихаешь lua53.lib, или что у тебя там; 3. Туда же — создаёшь папку /include, добавляешь туда луёвые заголовки; 4. Залезаешь в свойства проекта (Project/Properties) 4.1 Там у C/C++ выставляешь Additional Include Directories натравленные на папку $(ProjectDir)/include; 4.2 У Linker выставляешь Additional Depencies с Lua51.lib; 4.3 Забыл ещё про Linker/General, там в Additional Library Directories выставляешь $(ProjectDir)/lib; 5. В main.c/cpp пишешь #include "lua/lua.h" #include "lua/lauxlib.h" void main() { ... инициализируем стейт, ... запускаем скрипт и т.д. ... по учебнику }
Snusmumriken
Уточнение: разрядность и платформа конечного приложения должны быть те же что и .lib-библиотека.
Лепикоршев
Спасибо, попробую
Лепикоршев
Но это ты запускаешь из-под C луа, как встраиваемый
Лепикоршев
Разметка самого луа при этом в редакторе скриптов будет?
Лепикоршев
И нет ли способа сборку С части оставить самой среде (настройками), а в vs поднять сразу lua проект (как в eclipse, например)?
Snusmumriken
Аааа, стоп, ты про редактор Lua кода в Visual Studio?
Лепикоршев
Ну, как бэ да =)
Snusmumriken
А Eclipse умеет сразу делать луа-приложение?
Лепикоршев
редактор кода + интерпретатор
Лепикоршев
угу
Лепикоршев
нативно билдит C, и запускает интерпретатор сразу с файлов на вход
Snusmumriken
Ничоси, там небось какие-то хаки. Кароч, ты запихиваешь луа-скрипт рядом с исполняемым файлом, и в сишке пишешь: "исполнить этот скрипт, который рядом с исполняемым файлом".
Snusmumriken
GetCWD в помощь.
Лепикоршев
😳😱😭
Лепикоршев
GetCWD в помощь.
А это что за зверь такой?
Snusmumriken
Это сишная функция "получить текущую рабочую директорию". Один из способов получения пути до скрипта рядом с исполняемым файлом. Хотя мб в argv[0] чот будет, сконкатенируешь с именем скрипта.
Лепикоршев
Тоже, кстати вопрос - eclipse редактирует относительные пути до папки проекта, т.е. пофигу откуда запускаться, рабочей будет папка, выставленная как source в настройках проекта
Snusmumriken
"Смерджить" сишку и луа тоже можно. Просто вставь в сишный код строку с луа-кодом, и load'ни )) Не забудь дописать package.path/cpath на луёвой стороне.
Лепикоршев
Но если мы делает "запусти этот файл" через С - думаю, такой фичи нет, пути только относительно рабочей папки С?
Snusmumriken
Норм. Зато не будут копаться в сорцах. Плюс там может быть вмерджен только запускатор скрипта-файла, ибо с луёвой стороны удобно делать запускаторы.
Snusmumriken
Ну и исходный код луа чуть сложнее добыть. Придётся открывать exeшник hex-редактором.
Лепикоршев
на вопросы безопасности и защиты исходного кода я пока кладу с прибором =)