Чего НЕТ в файле интерфейса?

У меня создалось впечатление, что «Файл интерфейса AD содержит только то, что нужно импорту модуля, а не всю реализацию этого модуля». Для меня это переводится в подписи - просто возвращайте типы, имена и аргументы, чтобы компилятор знал, что он действителен, а компоновщик мог сделать грязную работу позже.

Однако запуск файла через dmd почти ничего не удаляет:

import std.stdio;

void SayHello(const string Name)
{
    writeln("Hello, ", Name, "!");
}

dmd Interface.d -o- -H

// D import file generated from 'Interface.d'
import std.stdio;
void SayHello(const string Name)
{
writeln("Hello, ",Name,"!");
}

Вряд ли это образец оптимизации.

Что именно вырезано в интерфейсных файлах?

( добавлены, потому что это самое близкое, что я смог найти.)

6
задан Maxpm 11 October 2011 в 01:14
поделиться