34 / 34 / 16
Регистрация: 11.01.2015
Сообщений: 130
1

MinGW, iostream и exe-файлы "мастодонты"

21.01.2015, 14:23. Показов 880. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Обнаружил, что вот такой код
C++
1
2
3
4
5
6
7
8
#include<stdio.h>
#include<math.h>
#include<iostream>
 
int main()
{
    return 0;
}
компилируется в экзешник больше мегабайта. А до этого несравнимо более сложные программы компилировались в меньший размер. Кстати windows.h в которой по идее ух сколько всего - не вызывает разрастания немерянного программы!
Как грамотно в командной строке прописать оптимизацию? Или увы никак?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2015, 14:23
Ответы с готовыми решениями:

Ошибка с подключением библиотек iostream.h в MinGW
Помогите разобраться. Не получается подключить библиотеки iostream.h. В среде MinGW 2.1 #include...

Упаковка ресурсов в exe. gcc (MinGW)
Здравствуйте. Возникла задача упаковать различного рода файлы в программу. Пробовал создавать...

Запуск exe файла без mingw
Использую codeblocks под windows, возникла проблема при запуске построенного exe файла. Через...

Файлы smss.exe/winlogon.exe/winhosts.exe
после блокировки банера в папке WINDOWS есть файлы smss.exe/winlogon.exe/winhosts.exe должны ли они...

В чём отличие заголовочных файлов <iostream> и <iostream.h> ?
Добрый день! Учу С++ в Microsoft Visual C++ 6.0. Листинг начинал с #include &lt;iostream&gt;, и...

4
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
21.01.2015, 14:29 2
Цитата Сообщение от SuurKissat Посмотреть сообщение
Как грамотно в командной строке прописать оптимизацию? Или увы никак?
Как ты компилировал эту программу?
У меня такая программа компилируется в 47кБ.
С флагом компоновщика -s - в 15кБ.
1
34 / 34 / 16
Регистрация: 11.01.2015
Сообщений: 130
21.01.2015, 14:36  [ТС] 3
g++ F:\TEST\test.cpp -static

Добавлено через 2 минуты
Добавил -s и написал
g++ F:\TEST\test.cpp -s -static
стало сразу лучше - 660992 байт, но пока все равно многовато...
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
21.01.2015, 16:17 4
Это нармально. Это из-за -static. Можешь убрать его, но тогда у тебя будет несколько дополнительных зависимостей.
Еще немного поможет уменьшить размер флаг оптимизации -Os
1
34 / 34 / 16
Регистрация: 11.01.2015
Сообщений: 130
21.01.2015, 16:31  [ТС] 5
Ясно.
Написал подряд флаги -Os -s и да, чуть меньше.

Без статической - подумаю. В свое время предпочел статическую, именно из-за этих дополнительных зависимостей от каких-то dll ек даже для простейших прог...
0
21.01.2015, 16:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2015, 16:31
Помогаю со студенческими работами здесь

Как из исходников собрать exe в Windows с Mingw?
Пробовал с mingw491_32. Вот эту программу Sip-4.17...

Вывод от GCC.exe (MinGW) в консоль WinXP в правильной кодировке?
Как заставить GCC.exe из пакета MinGW выводить в консоль WinXP (32) сообщения об ошибках компиляции...

mingw, i686-w64-mingw32/bin/ld.exe: cannot find -ldl
добрый вечер. тестирую сборки mingw от WinLibs пока опробовал только лишь: mingw840,...

Мастодонты Linux о файловой системе
Отпочковалось отсюда. Что значит по разному установлены?! Расшифруй.

MinGW. Точка входа в процедуру __gxx_personality_v0 не найдена в библиотеке DLL /brut.exe
Установил MinGW, создал батник, который компилирует файл. При запуске скомпилированного exe-шника...

Необходимы файлы explorer.exe и wininit.exe от Windows Vista Home
У меня оказались затроянены системные файлы explorer.exe и wininit.exe в моей Vista Home Edition....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru