Зачем конвертировать LOBSTER в CPP?
Разработчики конвертируют исходный код Lobster в .cpp, чтобы выжать дополнительную скорость для релизной сборки, так как скомпилированный C++ работает быстрее, чем JIT в Lobster. Сгенерированный C++ является автономным и вставляется в обычную структуру сборки Lobster вместо стандартного main.cpp.
Способы конвертации LOBSTER в CPP
Lobster (--cpp) OPEN-SOURCE
Из корня репозитория выполните bin/lobster --cpp yourpath/my.lobster, что создаст файл dev/compiled_lobster/src/compiled_lobster.cpp, содержащий полный main().
Сборка Lobster + CMake OPEN-SOURCE
Соберите вывод C++ автоматически с помощью cmake -DLOBSTER_TOCPP=ON -DCMAKE_BUILD_TYPE=Release ., а затем make -j8, что подставит сгенерированный файл и создаст нативный исполняемый файл.
Об этих форматах
Файл .lobster содержит исходный код, написанный на языке программирования Lobster - статически типизированном языке с отступами в стиле Python, созданном Ваутером ван Оортмерссеном и…
Открыть детали .LOBSTER →A CPP file is plain-text C++ source code - the human-written instructions that a compiler turns into a runnable program. Open it in any code editor (VS Code, Notepad++, Xcode) to read or…
Открыть детали .CPP →Качество и на что обратить внимание
- Сгенерированный
.cppсоздан машиной и не предназначен для чтения или ручного редактирования - это промежуточный артефакт сборки. - Вам все равно понадобятся собственные заголовочные файлы и файлы сборки Lobster для его компиляции; файл не является автономной программой, которую можно перенести в сторонний проект C++.
- Официальная документация рекомендует использовать
--cppтолько для финальных сборок, а не во время разработки, так как JIT позволяет быстрее итерировать.
Часто задаваемые вопросы
Куда записывается файл .cpp?
dev/compiled_lobster/src/compiled_lobster.cpp при запуске --cpp из корня репозитория Lobster.Можно ли скомпилировать .cpp без репозитория Lobster?
main.cpp, используя предоставленную настройку сборки Lobster.