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

В чём писать? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.79
DEMONSTR
7 / 7 / 2
Регистрация: 07.03.2013
Сообщений: 63
30.07.2013, 17:06     В чём писать? #1
Всем привет, только начал изучения c++, подскажите в какой среде лучше начинать изучение? подходит ли для старта MSVS?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2013, 17:06     В чём писать?
Посмотрите здесь:

в чём ошибка C++
в чём ошибка 3 C++
C++ В чём ошибка ?
[C++]В чём ошибка? C++
В чём ошибка? C++
в чём ошибка? C++
C++ В чём соль??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 17:28     В чём писать? #61
Цитата Сообщение от Nameless One Посмотреть сообщение
PS. Хотя, насколько я знаю, никто не мешает прикрутить к этим IDE компиляторы последних версий.
Насчёт не поддержки Dev C++ я не очень понимаю. Есть среды Dev C++ новые, с новыми компиляторами: http://sourceforge.net/projects/orwe...ce=recommended Или это какая-то другая среда?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
31.07.2013, 17:30
  #62

Не по теме:

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

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

Не по теме:

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

Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 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!
gray_fox
31.07.2013, 20:33
  #65

Не по теме:

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

diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
31.07.2013, 20:36     В чём писать? #66
Про уменьшение размера бинаря.
Только там уклон в сторону избавления от лишних либ, если добавлять плюсовый рантайм, то будет немного тяжелее.
Да и вообще, эти либы имеют константный размер, т.е. в более-менее большом бинаре ими можно пренебречь.
gcc, кстати, предлагает profile-driven оптимизации, которые уменьшают размер на ~7%. Не думаю, что у студии есть что-нибудь подобное.
korvin_
 Аватар для korvin_
1351 / 1122 / 161
Регистрация: 28.04.2012
Сообщений: 3,996
31.07.2013, 23:49     В чём писать? #67
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
хз, что там в лине. Так что это сравнение тёплого с мягким.
Ну так ты же выдвигал размер экешника как "весомый аргумент в пользу Вижуал Студии и против Dev-CPP, GCC и вообще линукса.". =)
У меня в линуксе экзешник получился в 4 килобайта, немногим больше твоего MASM'а в 3 килобайта, против твоих 8 килобайт. Что же это, аргумент против VSC++ и Windows'а вообще? =)
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.08.2013, 00:10     В чём писать? #68
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ты так говоришь, словно это не характеризует хороший компилятор...
Вот закончится у тебя место на диске - сразу поменяешь gcc на msvs!
а теперь сравни бинарники Qt скомпилированные gcc и msvs. и разница там очень существенная и не в пользу gcc
DU
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
01.08.2013, 00:16     В чём писать? #69
автору нужна IDE для старта. IDE - это не только компилятор. Не в последнюю очередь - это средства отладки.
А когда дорастет до проектов, в которых приходится задумываться о размере генерируемых бинарей - сам сможет разобраться, каким компилятором и как компилять исходники. До проблем из-за несоответствия каким-то пунктам стандарта тоже нужно еще дорасти. На старте нужна тупо возможность писать и без гемора отлаживать программы. И пофиг какой они там размер генерят. Что 1 мегабайт, что 10 - один хрен. Все равно эти все проекты на выброс.
XRuZzz
Антикодер
603 / 504 / 25
Регистрация: 15.09.2012
Сообщений: 2,449
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
что за консоль со стрелочками?

Nameless One
01.08.2013, 10:02
  #71

Не по теме:

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

Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 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
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
01.08.2013, 12:33     В чём писать? #73
Kuzia domovenok, я отключил все оптимизации в настройках проекта, сделал еще несколько настроек и MSVS выдала экзешник 6656 байт
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
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++.
iel
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 получается куча системных вызовов и/или куча лишнего кода.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
01.08.2013, 13:06     В чём писать? #76
Цитата Сообщение от Nameless One Посмотреть сообщение
При чем здесь API? Hello World не требует системного API, он пишется полностью на стандартном C++.
Цитата Сообщение от Nameless One Посмотреть сообщение
Скомпилируй этот код и скажи, сколько он занимает места.
Этот код с std::cout компилируется в 8.7Кб на той же MSVS при тех же опциях,
что компилировали WriteConsole в 7 Кб
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
01.08.2013, 13:07     В чём писать? #77
iel, это понятно, я имел в виду, что программисту явно не придется дергать API-функции.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
01.08.2013, 13:12     В чём писать? #78
Nameless One, если не надо дергать, то я скомпилил HelloWorld с cstdio, получилось также 6656 байт, что и при явном дергании API
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 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 байт!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 13:33     В чём писать?
Еще ссылки по теме:

C++ в чём ошибка?
C++ в чём ошибка C++
Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны C++
C++ В чём ошибка?

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

Или воспользуйтесь поиском по форуму:
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
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);}
Yandex
Объявления
01.08.2013, 13:33     В чём писать?
Ответ Создать тему
Опции темы

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