Как хорошо D поддерживает 64 бита?

Я хотел бы испытать D язык программирования. У меня есть простой любимый проект, который я означал заканчивать, и я думал, что это будет хорошая возможность учиться D 2.0.

Однако моя основная ОС является kubuntu двойной загрузкой на 64 бита с Windows 7 64bit, и я, может казаться, не заставляю это работать. Проект будет использовать SDL, и я подозреваю, что моя ОС на 64 бита могла бы быть проблемой.

Для чего текущее положение дел D 64 бита? У кого-либо есть опыт, заставляя это работать?

BTW у меня нет интереса в D 1.0, таким образом, это D 2.0 или промах.

20
задан deft_code 4 March 2010 в 04:20
поделиться

2 ответа

На данный момент ответ - громкий «это зависит от обстоятельств». В частности, это зависит от ОС и от того, какая версия D.

DMD или компилятора Digital Mars D является эталонной реализацией и предлагает 64-разрядную поддержку. Поддержка 64-битной версии является беспокойной новинкой (см. Комментарии ниже), но Уолтер Брайт, создатель языка, указал, что обеспечение ее соответствия 32-битной версии является высоким приоритетом сейчас, когда D2 вышел (или, вернее, теперь, когда книга Андрея Александреску Выпущен "Язык программирования D" ). Однако он указал, что из-за проблем с компоновщиком первые несколько версий не будут поддерживать 64-разрядную версию в Windows (кажется, по-прежнему верно ).

Для D1, 64-битная поддержка отлично подходит для Linux и Mac, если вы используете LDC , который является компилятором D, нацеленным на LLVM. Для Windows компилятор GDC , нацеленный на серверную часть GCC, был возрожден, но его версии несколько отстают. На D1 это не так уж важно, поскольку спецификация языка довольно стабильна.

Для D2 64-битная поддержка в настоящее время практически отсутствует.Вышеупомянутый GDC поддерживает его, но D2 быстро развивается, и GDC слишком устарел, чтобы быть здесь полезным. Большая часть нетривиального кода, написанного для версии 2.015 (поддерживает последняя версия GDC), вероятно, даже не будет компилироваться в версии 2.040 (последняя версия DMD) и наоборот.

Редактировать: На сегодняшний день, 21 июня 2010 г., в SVN есть некоторые изменения в отношении поддержки 64-битной версии DMD. Это далеко не рабочий компилятор, но дело в том, что он в процессе.

Правка №2: По состоянию на середину февраля 2011 года DMD 2.052 поддерживает 64-разрядную версию Linux.

Редактировать №3: По состоянию на ноябрь 2011 года GDC можно использовать, и только один выпуск после DMD, хотя он несколько бета-версии и еще не упакован. Вы должны скомпилировать его из исходников.

21
ответ дан 30 November 2019 в 00:59
поделиться

Как сказал dsimcha, в D2.0 вы не найдете 64-битного компилятора. Однако вы можете установить 32-битный компилятор dmd для компиляции 32-битных программ в Linux. И вы, вероятно, будете использовать Derelict в качестве обертки SDL.

Требуются дополнительные пакеты

Обновление: Поскольку компилятор 32-битный, вам потребуется установить 32-битную версию библиотек SDL. Я не думаю, что вы найдете их в репозитории, поэтому вам придется скомпилировать SDL самостоятельно (возможно, вы сможете распаковать SDL .deb из 32-битного репозитория и установить их вручную). Извините, что пропустил, что это может быть проблемой.

3
ответ дан 30 November 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: