Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
3 / 3 / 0
Регистрация: 26.10.2013
Сообщений: 42
1

Из маленьких исходных текстов, большие выполняемые файлы

26.10.2013, 16:50. Показов 2545. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день всем.
Возник следующий вопрос.
Для учебы делаю маленькие исходники, с маленькими функциями, например такие:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdlib>
 
using namespace std;
int main()
{
 
int a=12,b=a%5; 
if (a%10!=b) 
b++;
a+=b;
cout<<a<<"\n";
    system("pause");
          return 0;
}
Практически все исполняемые файлы, в итоге получаются 4 с половиной мегабайта.
Может это и нормально, я незнаю, поскольку не так давно начал изучать язык. Хотелось бы узнать, как должно быть на самом деле.
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2013, 16:50
Ответы с готовыми решениями:

Установки из исходных текстов
Добрый день. Впервые столкнулсяс Linux и тем более Mandriva. Существует папка с исходным кодом....

Компиляция исходных текстов
Вот решила познакомиться с ФП. Для начала lisp. Вопросы: 1. В каком виде (формате, нотации)...

Смена маленьких букв на большие
Кто знает как менять маленькие буквы на большие.То есть ввели фамилию имя в строку и оно поменяло...

Замена маленьких букв на большие
Доброго времени суток! Нуждаюсь в помощи. Программа работает, но не так как нужно. Задача :...

31
3 / 3 / 0
Регистрация: 26.10.2013
Сообщений: 42
27.10.2013, 18:39  [ТС] 21
Author24 — интернет-сервис помощи студентам
1. Открываю исходный файл.
2. Нажимаю компилировать и запустить. Или просто компилировать.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.10.2013, 19:01 22
Цитата Сообщение от Ukrainis Посмотреть сообщение
1. Открываю исходный файл.
2. Нажимаю компилировать и запустить. Или просто компилировать.
Файл у вас где лежит? Где открываете? В среде? Как (порядок действий: куда жмёте, что выбираете и т.д.)? Мне не удаётся получить такое окно среды, как у вас на скрине, поэтому и спрашиваю. Начните с этого: "Запускаю среду..."
0
3 / 3 / 0
Регистрация: 26.10.2013
Сообщений: 42
27.10.2013, 19:06  [ТС] 23
Щелкаю по документу, выбираю чем его открыть(какой средой). Как открылся - наживаю кнопку компилировать. Все. Может это важно, но я не делал никакого проекта. Просто один файл с кодом и все. Открываю, нажимаю кнопку компилировать.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.10.2013, 19:22 24
Удалил.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.10.2013, 19:30 25
Так делаю, но не отображается имя файла (как у вас). ОС какая? Обратите внимание на время компиляции.
Миниатюры
Из маленьких исходных текстов, большие выполняемые файлы  
0
3 / 3 / 0
Регистрация: 26.10.2013
Сообщений: 42
27.10.2013, 19:40  [ТС] 26
Насчет времени я тоже заметил, что чуточку долговато он начинает. Винда 7, домашняя расширенная, 32-х битная. Может изза того, что у меня какой-то компонент другой версии?
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.10.2013, 19:46 27
Компилятор родной для этой среды используете? В настройках что-нибудь делали? И, если можно, весь лог компиляции выложите, а то на скрине не все параметры видны.

Добавлено через 55 секунд
Файл чем, как делали?
0
3 / 3 / 0
Регистрация: 26.10.2013
Сообщений: 42
27.10.2013, 19:55  [ТС] 28
Лог:
Compiler: TDM-GCC 4.7.1 32-bit Release
Executing g++.exe...
g++.exe "C:\Users\Valentin\Desktop\primer.cpp" -o "C:\Users\Valentin\Desktop\primer.exe" -ansi -m32 -I"C:\Program Files\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include" -L"C:\Program Files\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32" -static-libgcc -m32
Execution terminated
Compilation successful
Документ делал тут же.
Насчет компилятора, точно не помню, но вроде ставил, потом удалял eblocks, так кажется он назывался. Насчет настроек, вроде особо ничего не делал. Начинал копаться только в том случае, если чтото не работало, искал через номер и описание ошибки, если в гугл указывал, изменить какие настройки, то менял, если нет, то нет.
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
27.10.2013, 21:27 29
Цитата Сообщение от Ukrainis Посмотреть сообщение
что туда залезает debug информация, поэтому он такой большой становится
Туда залезает дебаг-информация если собирать программу в дебаг режиме, а кроме этого туда влезает статически прилинкованная стандартная библиотека С++. Чтобы еще больше уменьшить размер программы, вам нужно собирать программу в режиме Release
0
3 / 3 / 0
Регистрация: 26.10.2013
Сообщений: 42
27.10.2013, 22:09  [ТС] 30
Цитата Сообщение от programina Посмотреть сообщение
в режиме Release
А как включить этот режим, можете подсказать?
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
27.10.2013, 22:43 31
Цитата Сообщение от Ukrainis Посмотреть сообщение
А как включить этот режим, можете подсказать?
Немного вру, release можно включить если вы собираете проект, а если отдельный файл, то он и так уже release Вобщем 900 кб для екзешки - нормально, при условии, что ему приходится тащить библиотеку С++... Можете попробовать visual c++, тогда екзешки будут маленькими, но очень маловероятно, что такая екзешка сможет запуститься на всех других системах виндовс.
1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 00:50 32
Добился того, что код, из 16 поста, собирается в exe размером 6.25мгб.
Compiler: TDM-GCC 4.7.1 64-bit
Executing g++.exe...
g++.exe "D:\Program Files (x86)\Dev-Cpp\MinGW64\bin\primer.cpp" -o "D:\Program Files (x86)\Dev-Cpp\MinGW64\bin\primer.exe" -I"D:\Program Files (x86)\Dev-Cpp\MinGW64\include" -L"D:\Program Files (x86)\Dev-Cpp\MinGW64\lib"
Execution terminated
Compilation successful
Никаких static в настройках линкера не стоит. Или он статически линкует всегда? Вопрос: почему у меня, до этого, получались такие маленикие exe (465кб)? На студии, такой код, при статической линковке, собирается в exe размером: 600кб Debug, 157кб Release. Чего-то я не догоняю ...
0
28.10.2013, 00:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2013, 00:50
Помогаю со студенческими работами здесь

Замена букв с маленьких в большие.
Написать функцию заменяющую в переданной ей строке все маленькими буквами в большие.

Преобразование маленьких русских букв в большие
Может кто-то пояснить построчно программу?code segment assume cs:code, ds:data, ss: stek start:...

Изменение маленьких букв на большие и наоборот
Задача: Написать на языке ассемблер com-программу, которая выведет на экран &quot;Input string&quot;. После...

Изменение маленьких букв на большие и наоборот
Задача: Написать на языке ассемблер exe-программу, которая выведет на экран &quot;Input string&quot;. После...

Замена маленьких букв на большие, считанных с файла
Имею код замены строки маленьких символов на строку с большими символами. Не получается сделать...

Применение системы документирования исходных текстов Doxygen
решил узнать о такой штуке и как она работает, выбрал исходник, но что-то не получаю своих...


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

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