Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/56: Рейтинг темы: голосов - 56, средняя оценка - 4.50
C/C++
93 / 93 / 18
Регистрация: 01.07.2010
Сообщений: 281

Слишком большие программы!

01.07.2010, 15:31. Показов 12133. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я начинаю писать консольные приложения на Dev C++. Компилирую. Я раньше не смотрел на размер, а сейчас увидел, что он больше 400 Кб!!! и это при таком коде:
C++
1
2
#include <iostream>
int main(){}
То есть 1 модуль для консолей весит почти как программа на Delphi на визуальном проектировании!!! Подскажите как уменьшить размер программы. Или модуль другой использовать надо...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2010, 15:31
Ответы с готовыми решениями:

Strtol и слишком большие числа
Если strtol скормить строчку со слишком большим числом, оно вернет LONG_MAX и установит errno в ERANGE. Вопрос - если strtol скормить...

Почему элементы по диагонали слишком большие?
Сначала рандомайзер работал нормально, а потом то ли я что-то нажала, то ли что-то произошло - и по диагонали слишком большие числа. В чем...

Массив: Слишком большие числа в массиве, хотя стоят ограничения диапазона (-100,100), как мне исправить это?
Доброго времени суток. У меня выходят слишком большие числа в массиве, хотя стоят ограничения диапазона (-100,100), как мне исправить...

39
PB
02.07.2010, 12:19
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от МаксимМВ Посмотреть сообщение
нет но тут лучше C++ ведь я же за компьютером не юзером собираюсь быть а программистом программы писать!!!
C++ конечно же лучше, но не стоит забывать, он во много раз сложнее бейсика.
И вообще, не нужно недооценивать язык программирования, который не знаешь. Может его возможности не такие примитивные как думаешь!

Люди, программирующие на бейсике (или другом языке программирования, кроме C++), разве не программисты?

2
C/C++
93 / 93 / 18
Регистрация: 01.07.2010
Сообщений: 281
02.07.2010, 12:39  [ТС]

Не по теме:

но это я знаю один раз я захотел ассемблер выучить, но компилятора нормального не нашёл! А мне и не надо легче я хочу программировать! На другом языке кроме одного какого то и бейсика и ТОЛЬКО на них, думаю не настоящие программисты. А Михаилу Флёнову больше нравится Delphi и C++, он тоже к бейсику неочень А бейсик думаю тоже полезно знать. В 11 классе пригодится. А мне 12 лет. Думаю скоро разделят эту тему и будет обсуждение что лучше C++ или Basic


А мне и не нужен простой - программировать.
0
PB
02.07.2010, 12:56

Не по теме:

Если язык простой, это не значит что он не на что не годен.
Бейсики разные бывают. Конечно же не стоит программировать на "древних" диалектах, типа QBasic.
Существуют соврменные диалекты бейиска, которые, при решении многих задач, ничем не уступают C++ по возможностям, но при этом проще C++!
А на чём программировать, решает каждый для себя.

PS.
Ещё раз повторяю, "бейсик" это лишь название языка, а возможности зависят от использованого компиятора и библиотек функций

1
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
02.07.2010, 16:15
Цитата Сообщение от МаксимМВ Посмотреть сообщение
d:\максим\c++ programs\mcpp\00\pn\pn\pn.cpp(24) : error C2668: sqrt: неоднозначный вызов перегруженной функции
d:\программы\microsoft visual cpp\vc\include\math.h(581): может быть 'long double sqrt(long double)'
d:\программы\microsoft visual cpp\vc\include\math.h(533): или 'float sqrt(float)'
d:\программы\microsoft visual cpp\vc\include\math.h(128): или 'double sqrt(double)'
Написано же, что sqrt может принимать float, double или long double. А ты подаешь int:
C++
1
2
3
for (int i=ot; i<n; i++){
sost=false;
for (int d=2; d<sqrt(i)+1; d++){
Попробуй так:
C++
1
for (int d=2; d<sqrt(static_cast<double>(i))+1; d++)
0
10 / 10 / 2
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
02.07.2010, 17:27
МаксимМВ, я тоже это заметил, поэтому сделал для себя пару тестов и выяснил что exe-программа в скомпилированном виде самая маленькая на C++ Builder
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
02.07.2010, 20:29
Народ, не заставляйте меня применять карточки за оффтоп
0
03.07.2010, 01:47

Не по теме:

Храните программы в исходниках, чтобы места меньше занимали, а это как же. Компилировать можно только по необходимости, на один раз. А исходники еще и заархивировать можно! Тогда вообще красота будет. Представляете, программа, а весит 2Кб.

0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.07.2010, 10:17
Цитата Сообщение от M128K145 Посмотреть сообщение
Народ, не заставляйте меня применять карточки за оффтоп
Это правильно

Значит, так, автор, слушай меня. Знаю я мало, но что знаю, за то ручаюсь
Проанализировал я твой исходник в отладчике. Что имеем?

Действительно лишнего мало. Под действительно лишним я понимаю типа отладочной информации. То есть при небольшом желании твой исходник увеличится ещё кило на сто. Это к нему присоединятся секции с отладочной информацией.

А так- львиную долю занимает секция непосредственно кода. А имеено чистых 3D940 или 252224 байта
Ну плюс секции с инициализированными данными, данными только для чтения... Но это мелочи.

Ну, в общем спешу тебя успокоить- всё, что ты написал, то и имеем. И только это. На самом деле ты написал довольно много кода. Давай на этом не заморачиваться, ведь твой пример скорее из разряда приколов. Давай писать рабочие проги и думать, как уменьшить ИХ размер.

Добавлено через 3 минуты
Цитата Сообщение от [Freeman] Посмотреть сообщение
Большие файлы это особенность только Dev С++, вот у меня например в Visual С++ 2008 такой файл всеит 27кб.
Лга, то есть ложь. Пример автора из разряда приколов. Надо сравнивать рабочие проги.

Добавлено через 8 минут
РАбочая прога это helloword
C++
1
2
3
4
#include <iostream>
int main(){
 printf ("Hello, word");
}
Вот над уменьшением подобной хери и надо работать и надо обсуждать. Щас она весит 464 кило. Лично я могу уменьшить её раз так в 30 (до 15 кило) без потери функциональности. На DEV C++.

А сколь короткой можно сделать её на Visual С++ 2008? Очень бы хотелось услышать...

Добавлено через 4 минуты
Цитата Сообщение от МаксимМВ Посмотреть сообщение
Чё, это значит что если у кого то нет Dev C++, то моя прога не пойдёт??? Какой тогда смысл писать?
Не слушай никого, нормально всё, всё пойдёт.
0
PB
03.07.2010, 11:21

Не по теме:

Цитата Сообщение от fasked Посмотреть сообщение
Храните программы в исходниках, чтобы места меньше занимали, а это как же. Компилировать можно только по необходимости, на один раз. А исходники еще и заархивировать можно! Тогда вообще красота будет. Представляете, программа, а весит 2Кб.
Программа в скомпилированом виде - 2 КБ
Откройте её в HEX редакторе или в отладчике и посмотрите какой размер кодовой секции ;)
И учтите, это при том, что ни применялись никакие уловки чтобы уменьшить размер EXE!
Просто скомпилировал программу и всё. :)
Так что многое зависит от самого комплятора!

Вложения
Тип файла: rar Hello, word.rar (651 байт, 15 просмотров)
0
 Аватар для x-954377
3 / 3 / 0
Регистрация: 20.06.2010
Сообщений: 42
03.07.2010, 11:38
Для уменьшения размера VS2008 С++ нужно включить версию RELEASE а не DEBAG
и в коде прописать #pragma comment(linker,"/ENTRY:main") //точка входа на главную функцию
#pragma comment(linker,"/MERGE:.rdata=.rtext")

после чего EXE файл будет весить около 5 или 4кб, и причём потом может запускать на любом компе даже без VS.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.07.2010, 11:46
Цитата Сообщение от PB Посмотреть сообщение

Не по теме:

Программа в скомпилированом виде - 2 КБ
Откройте её в HEX редакторе или в отладчике и посмотрите какой размер кодовой секции ;)
И учтите, это при том, что ни применялись никакие уловки чтобы уменьшить размер EXE!
Просто скомпилировал программу и всё. :)
Так что многое зависит от самого комплятора!

Что за компилятор, можно узнать?
0
 Аватар для kazak
3605 / 2745 / 356
Регистрация: 11.03.2009
Сообщений: 6,313
03.07.2010, 11:51
PB, ты одного не учитываешь, QB создает DOS приложение.
0
34 / 34 / 8
Регистрация: 07.06.2010
Сообщений: 118
03.07.2010, 12:05
Лга, то есть ложь. Пример автора из разряда приколов. Надо сравнивать рабочие проги.
А ского лож!? Прогу
C++
1
2
#include <iostream>
int main() { return 0;}
скомпилировал зашел в папку там exe' шник весит 27кб и это чистая правда, ну а про Dev C++ признаю, я с ним почти не знаком, зря написал
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.07.2010, 12:17
Да я верю. Я о том, что DEV C++ компилит большие файлы. Сколько будет весить
C++
1
int main(){return 0;}
?
0
34 / 34 / 8
Регистрация: 07.06.2010
Сообщений: 118
03.07.2010, 12:48
Цитата Сообщение от kravam Посмотреть сообщение
Да я верю. Я о том, что DEV C++ компилит большие файлы. Сколько будет весить
C++
1
int main(){return 0;}
?
У меня dev С++ даже на винте нету
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.07.2010, 13:24
Цитата Сообщение от kravam Посмотреть сообщение
Что за компилятор, можно узнать?
https://www.cyberforum.ru/basic/thread25953.html


Цитата Сообщение от kazak Посмотреть сообщение
PB, ты одного не учитываешь, QB создает DOS приложение
С каких пор исполняемый файл DOS приложения имеет PE формат и работает в 32-битном режиме?
Компилятор был использован не QB, а PureBasic, который кстати, создаёт не только x86 проги, но и x64 проги!
И не только под Windows, но и под Linux и Mac OS X.
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
03.07.2010, 16:58
Цитата Сообщение от kravam Посмотреть сообщение
Да я верю. Я о том, что DEV C++ компилит большие файлы. Сколько будет весить
C++
1
int main(){return 0;}
?
у мну 1 кб на dev c++ 4.9
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.07.2010, 17:53
несерьёзно. ХОть бы предупредили, что это бейсик.

Добавлено через 29 секунд
Цитата Сообщение от Artishok Посмотреть сообщение
у мну 1 кб на dev c++ 4.9
Можно посмотреть опции компилятора?
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
03.07.2010, 18:34
Цитата Сообщение от kravam Посмотреть сообщение
Можно посмотреть опции компилятора?
набор настроек - Default compiler
стоит галочка - использовать быструю но неполную генерацию зависимостей
в параметрах отключено все
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
03.07.2010, 18:51
Хотите сравнить языки? Создайте отдельную тему в соответствующем разделе и там обсуждайте
Во избежание продолжения оффтопа тема закрыта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.07.2010, 18:51

Слишком сложный код программы, ничего не понимаю(
Я искал код по этому заданию: &quot;Имеется картографическая информация, представляющая собой серии пар целых чисел. Диапазон величин этих...

Sizeof или слишком большие значения
Вечер добрый. Подскажите пожалуйста, в чём проблема. Есть алгоритм, который написан на С++. Пытаюсь его сделать в C# и дополнить его. В...

Программа выводит слишком большие числа
Здесь реализован метод наименьших квадратов для нахождения коэффициентов уравнений #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...

Слишком большие .exe при статической сборке
Добрый вечер. Подскажите пожалуйста, можно ли каким-то образом уменьшить размер релизной версии приложения? Линковка статическая....

Слишком медленный запуск программы
Добрый день. Возникла не большая проблема при запуске программы, а именно когда её запускаю проходит секунд 5-6, только тогда...


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

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru