получается 30кб с оптимизацией c -O1
под mingw 2,5mb ...
x86_64-w64-mingw32-g++ proj.cpp -lwininet -lcrypt32 -o 22.exe -m64 -static -O1
у меня такое чувство, что это дебаг версия собирается и линкуется статически со всем чем только можно, как задать релиз флаг в мингв ?
Есть ведь понимание, что mingw является портом гцц?
Ты не сможешь добиться таких же размеров бинарника как с msvc под винду
Gnu C++ очень много жрет - у него рантайм тяжелый. Ну или тягать с собой дллку от c++. Пробуйте Clang. Мне удавалось минимальный бинарник из gcc получать в районе 600 килобайт. Но было выключено все что можно - исключения, rtti, strip, и на пустом проекте. А ключи, можно вот что попробовать: -flto -Wl,-flto -Os -fomit-frame-pointer -fno-rtti -fno-exceptions Для линкера: -flto -s -static -lstdc++
Скорее всего это статическая сборка Рантайма с++ против динамической
Вас не волнует что в тексте мингв, и так в помине нет libc++?
Не в курсе, взял ключи из проекта, было давно. Если нет, так нет. Вроде был GCC 10.2.1 musl. Ключи под себя подбирать, может там исключение нужно и т.п.
А под cl.ехе тоже статическая сборка?
Обсуждают сегодня