Кросс-компиляция с SBCL
-
04-07-2019 - |
Вопрос
У меня SBCL работает на машине с Ubuntu. Я хочу написать небольшую программу, которую хочу подарить другу, у которого работает только Windows. Какой самый быстрый способ кросс-компилировать его на моей машине в «автономный»? программа windows (т.е. обычная комбинация времени выполнения + ядро)?
Решение
SBCL может выполнять кросс-компиляцию, но из-за того, что код оценивается во время процесса, вам необходим доступ к целевой архитектуре. Обработка сборки SBCL хорошо объяснена Кристофом Роудсом в SBCL: Sanely Common-Lisp с возможностью загрузки . р>
Если у вас нет прямого доступа к машине с Windows, я полагаю, вы можете попробовать Wine (я ожидаю, что это не удастся) или ReactOS внутри эмулятора или гипервизора (QEMU, HVM, Xen, вы называете это ...).
Другие советы
Я подозреваю, что установка Windows на виртуальную машину и компиляция вашего приложения будут самым быстрым способом.
Ядра зависят от комбинации платформы и версии. Используйте метод Lu's или распространяйте его с другим Лиспом, таким как CLisp.
Абсолютно нет двоичной совместимости образов ядра между различными программами поддержки времени выполнения. Даже среды выполнения, созданные из одних и тех же источников в разное время, рассматриваются как несовместимые для этой цели. Руководство по SBCL