Почему исполняемый файл D большой почти до 9+ МБ?

Я нашел простой исполняемый файл программы Hello World D большого размера, около 9,2 МиБ. Я использую GDC-4,8 компилятор. Это особенность или какая-то ошибка?

Спасибо за все ответы!

1 ответ

Решение

Я предполагаю, что вы статически ссылаетесь на отладочные версии стандартных библиотек.

Во-первых, размер исполняемого файла зависит от использования динамических и статических связей стандартных библиотек. Если вы статически связываете свой исполняемый файл, то отладочная информация является еще одним фактором, влияющим на размер.

В цифрах (у меня нет gdc под рукой):

  • скомпилировано с ldc2, статически связано: 315 КБ
  • скомпилирован с ldc2 с отладочной информацией, статически связан: 2.9MiB
  • скомпилирован с dmd, динамически связан: 51 КБ
  • скомпилирован с dmd с отладочной информацией, статически связан: 77KiB

Насколько я знаю, gdc не использует /support -gc-section, что также способствует увеличению размера исполняемого файла.

Другие вопросы по тегам