Почему исполняемый файл 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, что также способствует увеличению размера исполняемого файла.