Должен ли я гарантировать, что мой код компилируется как с DMD, так и с GDC?
Я предполагаю частично эквивалентный вопрос: должен ли код, который компилируется с помощью DMD, автоматически компилироваться при любых обстоятельствах с помощью GDC?
Я спрашиваю, потому что у меня проблемы с получением современной версии GDC, установленной из репозитория ubuntu 10.4 (вроде бы циклические зависимости, вздох).
1 ответ
Должен ли я гарантировать, что мой код компилируется как с DMD, так и с GDC?
Зависит от того, планируете ли вы компилировать код на обоих этих компиляторах. Если вы намереваетесь только скомпилировать с помощью DMD, нет необходимости следить за тем, чтобы ваш код компилировался в GDC. Тем не менее, обычно хорошей идеей является написание кода, переносимого между компиляторами на тот случай, если вам когда-нибудь понадобится GDC.
Должен ли код, который компилируется с DMD, автоматически компилироваться при любых обстоятельствах с GDC?
В основном, но есть и всегда будут небольшие различия между компиляторами.
GDC и DMD (и LDC) все используют один и тот же интерфейс компилятора, поэтому по большей части они будут эквивалентны по характеристикам. Различия обычно проявляются, когда вы начинаете касаться вещей более низкого уровня, например, встроенного ассемблера, встроенных функций SIMD.