Чем процесс создания (компиляции и компоновки) исходного кода в D отличается от C / C ++, особенно в отношении встроенных функций, модульной системы D (вместо заголовков) и инструментов сборки. Как экземпляры шаблона повторно используются в D?
он не сильно отличается, каждый модуль компилируется в свой собственный файл obj, который затем связывается вместе, который IIRC ничем не отличается от процесса C / C ++
главное отличие заключается в том, что импорт символический вместо всего файла C #include
что устраняет необходимость в заголовочных файлах (хотя опция для заголовочных файлов .di существует для API с закрытым исходным кодом)
шаблоны действительно должны быть включены в файлы, доступные для компилятора (как они должны быть в заголовке для C ++)
Других решений пока нет …