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

В чём писать?

30.07.2013, 17:06. Показов 7913. Ответов 96
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, только начал изучения c++, подскажите в какой среде лучше начинать изучение? подходит ли для старта MSVS?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2013, 17:06
Ответы с готовыми решениями:

Как лучше учиться: писать консольные приложения или оконные? И если писать оконные, то на чём лучше?
На днях я узнал про Borland c++ builder и хочу воспользоваться им, но можно и писать код, что-бы...

На чем писать?
Подскажите на чем можно писать программы с графическим интерфейсом на С++.

На чем писать игру 2048
Дали задание: написать игру 2048 (причем внешний вид не играет никакой роли, главное, чтобы...

Хочу писать в блокноте, чем компилировать?
Здравствуйте, я хочу писать код в обычном блокноте, но не могу разобраться чем и каким образом...

96
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 17:28 61
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Nameless One Посмотреть сообщение
PS. Хотя, насколько я знаю, никто не мешает прикрутить к этим IDE компиляторы последних версий.
Насчёт не поддержки Dev C++ я не очень понимаю. Есть среды Dev C++ новые, с новыми компиляторами: http://sourceforge.net/project... ecommended Или это какая-то другая среда?
0
Jupiter
31.07.2013, 17:30
  #62

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
И как там, в прошлом?
для людей которые:
сравнивают размер hello world,
учитывают порядок инклудов,
компилируют код в асм в уме
нет прошлого, есть только настоящеё:sarcasm:

0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
31.07.2013, 17:37 63
Цитата Сообщение от alsav22 Посмотреть сообщение
Или это какая-то другая среда?
Я еще раз повторюсь, что я Dev C++ не использовал. Но то, что GCC сейчас явно указывает на ошибку, если объявить класс без «точки с запятой», — это факт (пруфы в этой теме уже есть), да я и сам могу такой пруф привести.

Не по теме:

Jupiter, некоторым людям нравится страдать. Но кто мы такие, чтобы за это их осуждать?

0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,492
Записей в блоге: 1
31.07.2013, 20:23 64
Цитата Сообщение от Jupiter Посмотреть сообщение
для людей которые:
сравнивают размер hello world,
учитывают порядок инклудов,
компилируют код в асм в уме
нет прошлого, есть только настоящеё
Толстый Тролль, уходи.

Добавлено через 5 секунд
Цитата Сообщение от Nameless One Посмотреть сообщение
Кстати, это также зависит от разрядности ОС и версии компилятора. Вот, к примеру, на jslinux при компиляции GCC получился бинарник ~3.5 K
стоп, стоп, стоп. А ось у тебя там точно Windows? Mожет под Linux хэллоумир будет меньше чисто из-за другого строения линуксовского экзешника или меньших lib библиотек, из которых собирается проект?... хз, что там в лине. Так что это сравнение тёплого с мягким. Ты мне покажи, что под windows делается hello.exe размером меньше 2.5 кб от вижуал студии.

Тема же о том, "в чём писать?" И один из аргументов за MSVS - меньший экзешник.
Не будем же мы советовать тем, кто задаётся вопросом "в чём писать".

Добавлено через 9 минут
Цитата Сообщение от Jupiter Посмотреть сообщение
сравнивают размер hello world,
ты так говоришь, словно это не характеризует хороший компилятор...
Вот закончится у тебя место на диске - сразу поменяешь gcc на msvs!
0
gray_fox
31.07.2013, 20:33
  #65

Не по теме:

Цитата Сообщение от dr.curse Посмотреть сообщение
линукс то тут каким боком?
религия же

0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
31.07.2013, 20:36 66
Про уменьшение размера бинаря.
Только там уклон в сторону избавления от лишних либ, если добавлять плюсовый рантайм, то будет немного тяжелее.
Да и вообще, эти либы имеют константный размер, т.е. в более-менее большом бинаре ими можно пренебречь.
gcc, кстати, предлагает profile-driven оптимизации, которые уменьшают размер на ~7%. Не думаю, что у студии есть что-нибудь подобное.
1
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
31.07.2013, 23:49 67
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
хз, что там в лине. Так что это сравнение тёплого с мягким.
Ну так ты же выдвигал размер экешника как "весомый аргумент в пользу Вижуал Студии и против Dev-CPP, GCC и вообще линукса.". =)
У меня в линуксе экзешник получился в 4 килобайта, немногим больше твоего MASM'а в 3 килобайта, против твоих 8 килобайт. Что же это, аргумент против VSC++ и Windows'а вообще? =)
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
01.08.2013, 00:10 68
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ты так говоришь, словно это не характеризует хороший компилятор...
Вот закончится у тебя место на диске - сразу поменяешь gcc на msvs!
а теперь сравни бинарники Qt скомпилированные gcc и msvs. и разница там очень существенная и не в пользу gcc
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
01.08.2013, 00:16 69
автору нужна IDE для старта. IDE - это не только компилятор. Не в последнюю очередь - это средства отладки.
А когда дорастет до проектов, в которых приходится задумываться о размере генерируемых бинарей - сам сможет разобраться, каким компилятором и как компилять исходники. До проблем из-за несоответствия каким-то пунктам стандарта тоже нужно еще дорасти. На старте нужна тупо возможность писать и без гемора отлаживать программы. И пофиг какой они там размер генерят. Что 1 мегабайт, что 10 - один хрен. Все равно эти все проекты на выброс.
2
Антикодер
1804 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
01.08.2013, 09:51 70
Цитата Сообщение от DU Посмотреть сообщение
автору нужна IDE для старта
я больше склоняюсь, к пути описанному в видеолекциях(ссылки на которые я приводил выше) -
для старта нужна консоль, gcc, Страуструп и кофе, чтоб переводить его в исходный код.

(Естественно не стоит забывать про другие фундаментальные книжки.)
IDE это уже след этап, когда человек познакомился с компилятором и консолью.
Причина проста IDE - это много избыточной информации, которая отвлекает от сути.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
Это по большему счету зависит от опций компиляции и сборки, заданных по умолчанию.

Например, тот же Hello World, скомпилированный Clang с некоторыми опциями — 6.1 K:
Вложение 295830

GCC — 6.2 K:
Вложение 295831
что за консоль со стрелочками? :)

0
Nameless One
01.08.2013, 10:02
  #71

Не по теме:

XRuZzz, эмулятор терминала — Guake, шелл — zsh.

0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,492
Записей в блоге: 1
01.08.2013, 11:29 72
Nameless One, я ещё раз повторяю, это ничего не говорит о компиляторе.
Нельзя сравнивать Hello World под вWindows и под Линукс! просто потому, что их размер уже не столько зависит от компилятора, сколько от разницы в API и в формате бинарника.
Вот HelloWorld под виндой.
C++
1
2
3
4
5
6
7
#include <windows.h>
#define LEN 12
DWORD written;
int main(){
    WriteConsoleA(GetStdHandle(STD_OUTPUT_HANDLE), "Hello World!", LEN, &written, NULL);
    return 0;
}
Как тут написать ещё короче я понятия не имею! Однако, в MSVS экзешник выходит из этого кода размером 7 Кб !!! (7168Б)
А теперь покажите сколько это будет весить под Линуксом и какие исходники вы компилировали, что получилось меньше?!

Добавлено через 12 минут
Если уж говорить о разных платформах, почему бы не заявить, что Hello world для какого-нибудь 8ми битного микроконтроллера будет весить всего 2Кб при этом не использовались никакие опции компилятора, оптимизации размера, вместо низкоуровневого программирования использовались доп. библиотеки... и.т.п. Короче, никак о размере не беспокоились, а бинарник вышел всё равно 2К
И всё равно 2 Кб! А почему? А вот платформа такая!

Так что, Nameless One, сравнение бинарников в Лине и в Винде - никак не характеризует IDE
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
01.08.2013, 12:33 73
Kuzia domovenok, я отключил все оптимизации в настройках проекта, сделал еще несколько настроек и MSVS выдала экзешник 6656 байт
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
01.08.2013, 12:44 74
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А теперь покажите сколько это будет весить под Линуксом и какие исходники вы компилировали, что получилось меньше?!
Стандартный HelloWorld (мы же о C++ говорим?):
C++
1
2
3
4
5
#include <iostream>
int main()
{
    std::cout << "Hello, World!" << std::endl;
}
Скомпилируй этот код и скажи, сколько он занимает места.

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
просто потому, что их размер уже не столько зависит от компилятора, сколько от разницы в API
При чем здесь API? Hello World не требует системного API, он пишется полностью на стандартном C++.
0
1 / 1 / 0
Регистрация: 30.07.2013
Сообщений: 15
01.08.2013, 12:58 75
Цитата Сообщение от Nameless One Посмотреть сообщение
При чем здесь API? Hello World не требует системного API, он пишется полностью на стандартном C++.
У меня от подобных заявлений лопается мозг. А ничего, что ЛЮБОЕ приложение использует системный API? Одинаковый C/С++ код не означает одинаковую реализацию CRT, особенно с этим вашим С++ в минимальном Hello World получается куча системных вызовов и/или куча лишнего кода.
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,492
Записей в блоге: 1
01.08.2013, 13:06 76
Цитата Сообщение от Nameless One Посмотреть сообщение
При чем здесь API? Hello World не требует системного API, он пишется полностью на стандартном C++.
Цитата Сообщение от Nameless One Посмотреть сообщение
Скомпилируй этот код и скажи, сколько он занимает места.
Этот код с std::cout компилируется в 8.7Кб на той же MSVS при тех же опциях,
что компилировали WriteConsole в 7 Кб
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
01.08.2013, 13:07 77
iel, это понятно, я имел в виду, что программисту явно не придется дергать API-функции.
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
01.08.2013, 13:12 78
Nameless One, если не надо дергать, то я скомпилил HelloWorld с cstdio, получилось также 6656 байт, что и при явном дергании API
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,492
Записей в блоге: 1
01.08.2013, 13:22 79
Цитата Сообщение от Dani Посмотреть сообщение
Nameless One, если не надо дергать, то я скомпилил HelloWorld с cstdio, получилось также 6656 байт, что и при явном дергании API
более того, я скажу, что у меня для небольших программ получается один и тот же фиксированный размер экзешника вне зависимости от того, API там используется/stdio/и более того(!) если вносить небольшие дополнения вроде
C++
1
2
3
4
5
6
7
8
#include <cstdio>
int main(){
    int i=0;
    printf("%s %s %d", "Hello", "World!", i);
    printf("%s %s %d", "Hello", "World!", i);
    printf("%s %s %d", "Hello", "World!", i);
    printf("%s %s %d", "Hello", "World!", i);
}
Экзешник всё равно не увеличивается и остаётся 7168 байт!
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
01.08.2013, 13:33 80
Kuzia domovenok, это весит 3072 байта:
C++
1
2
3
#pragma comment(linker,"/entry:MyStartup") 
#include <Windows.h>
void MyStartup(){ DWORD written;   WriteConsoleA(GetStdHandle(STD_OUTPUT_HANDLE), "Hello World!", 12, &written, NULL);}
0
01.08.2013, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2013, 13:33
Помогаю со студенческими работами здесь

На чем писать игры, изучив основы C++?
Всем привет. Изначально я учил С++, чтобы создавать игры. Сейчас я более-менее изучил основы С++...

В чем писать?
Здравствуйте! Скажите какая есть альтернатива Microsoft Visual Studio? Ато Visual Studio...

На чём писать GUI
Нужен какая-нибудь не громоздкая, чтобы программа с пустым окном была до 1 мб со статической...

На чем писать почтовый клиент
Добрый день! Давайте по дискуссируем на чем лучше всего писать почтовый клиент, чтоб он был...

Чем читать-писать XML
Добрый день! Вот, возникла задача - нужно данные хранить в формате XML. Пишу на С++ (Visual...

В чём писать, в MFC или CLR?
В CLR всё более или менее понятно, но приложения написанные в CLR не запускаются на компьютерах...


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

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