ldc2 vs ldmd2 какая разница?
Я недавно установил ldc через hombrew на своем Mac и тестировал запуск кода в виде скрипта из вики D, когда заметил, что использование ldmd2 для компиляции моей программы не запускает мою программу после. Какая разница, так как это то же самое поведение, что и при запуске ldc2.
Вот моя программа
import std.stdio;
void main()
{
writeln("Hello, world without explicit compilations!");
}
РЕДАКТИРОВАТЬ: веб-сайт гласит: "Для небольших проектов удобно скомпилировать и запустить за один шаг. Большинство (если не все) пакеты компилятора содержат инструмент с именем rdmd/gdmd/ldmd или аналогичный. В учебных целях мы назовем его rdmd ". Что я беру из этого, это зависит от того, какой компилятор вы используете, но в случае с ldc я должен использовать ldmd.
1 ответ
ldmd2
это просто скрипт-обертка для ldc2
который преобразует форматы аргументов из стиля dmd в стиль ldc.
Так что он делает то же самое, только некоторые параметры и флаги в командной строке компиляции имеют разные имена и тому подобное.
Ссылка говорит о r dmd, которая является отдельной программой, которая рекурсивно захватывает зависимости, компилирует и автоматически запускает. rdmd работает поверх компилятора и, возможно, был упакован вместе с ним или, возможно, должен быть загружен отдельно.
Его источник живет здесь: https://github.com/D-Programming-Language/tools/blob/master/rdmd.d
и это совместимо с ldmd2
Варианты форматов.