Программирование на D для OpenBSD

Недавно я читал на языке программирования D, и мне интересно использовать его для небольшого приложения, которое будет работать на OpenBSD.

Насколько я вижу, нет порта OpenBSD для компилятора, но я вижу ссылку на OpenBSD в файле posix.mak. В данный момент у меня нет удобной среды разработки OpenBSD, поэтому, прежде чем я пойду и подготовлю ее, мне было интересно, пытался ли кто-нибудь разрабатывать с D на OpenBSD.

Как прошло? Это было легко настроить? Есть ли какие-то "ошибки", о которых нужно знать? Заранее спасибо.

2 ответа

Решение

Официальный druntime (для dmd) не поддерживает OpenBSD. Чтобы все работало правильно с любой ОС с D, druntime должен поддерживать это. Возможно, что он будет собираться для OpenBSD и работать с некоторыми вещами (я не знаю), но для того, чтобы он действительно работал должным образом, он должен специально поддерживать OpenBSD. Существует несколько блоков версий, специфичных для операционных систем, и, если не существует блока версий для OpenBSD (или Posix), эта функциональность отсутствует и не будет работать. Если достаточно не хватает, то ничего не будет работать.

Теперь druntime варьируется на каком-то уровне от компилятора к компилятору, так как именно туда идет низкоуровневый системный материал (например, привязки C к glibc и Win32). Итак, gdc и ldc имеют свои собственные версии druntime и вполне могут поддерживать OpenBSD. Однако официальный компилятор, dmd, в настоящее время этого не делает.

Итак, если вы хотите использовать OpenBSD с D, вам нужно взглянуть на gdc и ldc. Я полагаю, что разработчики GDC, в частности, проделали дополнительную работу по добавлению дополнительных ОС и архитектур, так как он пытается перейти в gcc-правильное, но я действительно не знаю, что именно он поддерживает на данный момент, и я понятия не имею, каково текущее состояние ldc. Тем не менее, есть неплохой шанс, что они поддерживают OpenBSD.

Я нашел только это: https://bitbucket.org/goshawk/gdc/src/b3b60fdac583/d/phobos/std/c/openbsd/openbsd.d
Таким образом, по крайней мере GDC(интерфейс GCC для D) имеет некоторую поддержку OpenBSD. Но это работает - я не могу сказать.
Но вы можете попробовать:)

Другие вопросы по тегам