У меня есть тривиальная программа на C ++ "Hello world", которая скомпилирована в исполняемый файл размером 500 КБ компилятором MinGW g ++ под Win XP. Некоторые говорят, что это вызвано библиотекой iostream и статическая ссылка на libstdc ++. dll .
Использование опции компоновщика -s немного помогло (уменьшив размер на 50%), но я бы удовлетворился только исполняемым файлом размером <10 КБ.Есть ли способ добиться этого с помощью компилятора MinGW? Меня не беспокоит переносимость.
Можно ли скопировать libstdc ++. Dll с исполняемым файлом с помощью динамического связывания? Если да, то как этого добиться?
Решено: Я использовал MinGW 3.4. Теперь я обновился до последней версии MinGW 4.6, и размер был уменьшен на 90% до 50 КБ, с параметром -s даже до 9 КБ, чего вполне достаточно. В любом случае - спасибо всем за помощь. Вот мои результаты
Программа C ++ Hello World с использованием iostream
MinGW | no options | -s option
------------------------------
3.4 | 500kB | 286 kB
4.6 | 50kB | 9 kB