Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.68
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
01.07.2010, 15:31     Слишком большие программы! #1
Я начинаю писать консольные приложения на Dev C++. Компилирую. Я раньше не смотрел на размер, а сейчас увидел, что он больше 400 Кб!!! и это при таком коде:
C++
1
2
#include <iostream>
int main(){}
То есть 1 модуль для консолей весит почти как программа на Delphi на визуальном проектировании!!! Подскажите как уменьшить размер программы. Или модуль другой использовать надо...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PB
02.07.2010, 12:19     Слишком большие программы!
  #21

Не по теме:

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
02.07.2010, 12:39  [ТС]     Слишком большие программы! #22

Не по теме:

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


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

Не по теме:

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

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

Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
02.07.2010, 16:15     Слишком большие программы! #24
Цитата Сообщение от МаксимМВ Посмотреть сообщение
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++)
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
02.07.2010, 17:27     Слишком большие программы! #25
МаксимМВ, я тоже это заметил, поэтому сделал для себя пару тестов и выяснил что exe-программа в скомпилированном виде самая маленькая на C++ Builder
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
02.07.2010, 20:29     Слишком большие программы! #26
Народ, не заставляйте меня применять карточки за оффтоп
fasked
03.07.2010, 01:47
  #27

Не по теме:

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

kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,302
03.07.2010, 10:17     Слишком большие программы! #28
Цитата Сообщение от 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++, то моя прога не пойдёт??? Какой тогда смысл писать?
Не слушай никого, нормально всё, всё пойдёт.
PB
03.07.2010, 11:21
  #29

Не по теме:

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

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

после чего EXE файл будет весить около 5 или 4кб, и причём потом может запускать на любом компе даже без VS.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,302
03.07.2010, 11:46     Слишком большие программы! #31
Цитата Сообщение от PB Посмотреть сообщение

Не по теме:

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

Что за компилятор, можно узнать?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
03.07.2010, 11:51     Слишком большие программы! #32
PB, ты одного не учитываешь, QB создает DOS приложение.
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
03.07.2010, 12:05     Слишком большие программы! #33
Лга, то есть ложь. Пример автора из разряда приколов. Надо сравнивать рабочие проги.
А ского лож!? Прогу
C++
1
2
#include <iostream>
int main() { return 0;}
скомпилировал зашел в папку там exe' шник весит 27кб и это чистая правда, ну а про Dev C++ признаю, я с ним почти не знаком, зря написал
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,302
03.07.2010, 12:17     Слишком большие программы! #34
Да я верю. Я о том, что DEV C++ компилит большие файлы. Сколько будет весить
C++
1
int main(){return 0;}
?
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
03.07.2010, 12:48     Слишком большие программы! #35
Цитата Сообщение от kravam Посмотреть сообщение
Да я верю. Я о том, что DEV C++ компилит большие файлы. Сколько будет весить
C++
1
int main(){return 0;}
?
У меня dev С++ даже на винте нету
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
03.07.2010, 13:24     Слишком большие программы! #36
Цитата Сообщение от kravam Посмотреть сообщение
Что за компилятор, можно узнать?
http://www.cyberforum.ru/basic/thread25953.html


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

Добавлено через 29 секунд
Цитата Сообщение от Artishok Посмотреть сообщение
у мну 1 кб на dev c++ 4.9
Можно посмотреть опции компилятора?
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
03.07.2010, 18:34     Слишком большие программы! #39
Цитата Сообщение от kravam Посмотреть сообщение
Можно посмотреть опции компилятора?
набор настроек - Default compiler
стоит галочка - использовать быструю но неполную генерацию зависимостей
в параметрах отключено все
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2010, 18:51     Слишком большие программы!
Еще ссылки по теме:

Слишком быстрый инпут C++
C++ Не слишком корректное сохранение в HEX
C++ Слишком мало аргументов в функции
C++ Слишком много элементов - vector не фурычит
C++ Решение слишком долгое!

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

Или воспользуйтесь поиском по форуму:
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
03.07.2010, 18:51     Слишком большие программы! #40
Хотите сравнить языки? Создайте отдельную тему в соответствующем разделе и там обсуждайте
Во избежание продолжения оффтопа тема закрыта
Yandex
Объявления
03.07.2010, 18:51     Слишком большие программы!
Закрытая тема Создать тему
Опции темы

Текущее время: 13:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru