Должен ли я гарантировать, что мой код компилируется как с DMD, так и с GDC?


Я предполагаю частично эквивалентный вопрос: Должен ли код, который компилируется с DMD, автоматически компилироваться при любых обстоятельствах с GDC?

Я спрашиваю, потому что у меня возникли проблемы с установкой современной версии GDC из репозитория ubuntu 10.4 (похоже, циклические зависимости, вздох).

1 3

1 ответ:

Должен ли я гарантировать, что мой код компилируется как с DMD, так и с GDC?

Зависит от того, планируете ли вы компилировать код на обоих этих компиляторах. Если вы собираетесь компилировать только с DMD, то нет необходимости в том, чтобы ваш код компилировался на GDC. Тем не менее, это обычно хорошая идея, чтобы написать код, который является переносимым через компиляторы просто на случай, если вам нужно будет использовать GDC в один прекрасный день.

Должен код, который компилируется с DMD, автоматически компилироваться при любых обстоятельствах с Кри?

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

GDC и DMD (и LDC) имеют общий интерфейс компилятора, поэтому по большей части они будут эквивалентны функциям. Различия обычно появляются, когда вы начинаете касаться вещей более низкого уровня, например встроенного ассемблера, встроенных SIMD.