C/C++
93 / 93 / 18
Регистрация: 01.07.2010
Сообщений: 281

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

01.07.2010, 15:31. Показов 12180. Ответов 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
Закрытая тема Создать тему
Опции темы

Новые блоги и статьи
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ По ссылке 403. Не очень информативно такую ссылку постить. Запись от Usaga размещена Сегодня в 06:46 . . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru