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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.76
kaheu
34 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 246
#1

Какую ide лучше использовать для c++ - C++

27.07.2014, 12:18. Просмотров 4781. Ответов 51
Метки нет (Все метки)

какой ide лучше использовать для c++?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 12:18     Какую ide лучше использовать для c++
Посмотрите здесь:

C++ Что лучше использовать для низкоуровневого программирования?
C++ Какую лучше выбрать среду для графики
Какую среду разработки лучше использовать новичку? C++
Простая графика для Пятнашек. Какую библиотеку лучше использовать ? C++
C++ Какую бесплатную среду (IDE) разработки для С++ 2013/2014 года выпуска лучше скачать?
C++ Какую функцию STL использовать для работы с множеством ?
Какую библиотеку лучше использовать для работы с файлами в с++? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,998
27.07.2014, 12:22     Какую ide лучше использовать для c++ #2
Бесплатные среды (IDE) для программирования на С/С++
gru74ik
Модератор
Эксперт CЭксперт С++
3887 / 1645 / 188
Регистрация: 20.02.2013
Сообщений: 4,697
Записей в блоге: 21
27.07.2014, 15:31     Какую ide лучше использовать для c++ #3
Цитата Сообщение от kaheu Посмотреть сообщение
какой ide лучше использовать для c++?
Я за Code::Blocks - вот ссылка инсталлера для Windows 2000/XP/Vista/7/8 (там сразу в комплекте всё, что нужно).

На мой взгляд, лучший вариант для новичка:
  • лёгкая (не грузит комп)
  • довольно простая, на мой взгляд, в освоении IDE
  • кросcплатформенная
  • большое коммьюнити
  • проект постоянно развивается
  • бесплатная
  • opensource
  • поддержка стандарта C++11
  • в комплекте вполне себе достойный компилятор MinGW, но при этом парой кликов мыши можно подцепить любой другой компилятор по своему усмотрению
  • поддержка воркспейсов
  • удобный, на мой взгляд, интерфейс
  • может расширяться плагинами
А вообще, вот - можешь сам посмотреть, повыбирать.
kylroma
Одессит
47 / 47 / 18
Регистрация: 30.12.2013
Сообщений: 225
Записей в блоге: 1
Завершенные тесты: 1
27.07.2014, 18:04     Какую ide лучше использовать для c++ #4
Поддерживаю за Code Blocks. Ну ущё Dev c++
gru74ik, Как плагины скачать Code Blocks?
ranebull
513 / 346 / 54
Регистрация: 23.06.2013
Сообщений: 1,182
Записей в блоге: 6
27.07.2014, 18:05     Какую ide лучше использовать для c++ #5
Цитата Сообщение от kylroma Посмотреть сообщение
Ну ущё Dev c++
Лучше Orwell Dev C++ и wxDev C++
Цитата Сообщение от kylroma Посмотреть сообщение
Как плагины скачать Code Blocks?
Plugins/Manage Plugins - дальше разберетесь.
kylroma
Одессит
47 / 47 / 18
Регистрация: 30.12.2013
Сообщений: 225
Записей в блоге: 1
Завершенные тесты: 1
27.07.2014, 18:13     Какую ide лучше использовать для c++ #6
ranebull, я использую code blocks в linux mint, не знаю есть отличия с виндовской версией, но при заходе Plugins/Manage Plugins, могу установить плагины, которые я отдельно скачал. Т.е. программа сама не качает. А с офсайта не могу найти где скачать. Вот разве что ссылка на список плагинов: http://wiki.codeblocks.org/index.php...s#Core_Plugins
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 18:16     Какую ide лучше использовать для c++ #7
просто интересно, а почему никто не говорит о наиболее популярной (вроде как) vs?
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.07.2014, 18:20     Какую ide лучше использовать для c++ #8
Цитата Сообщение от GetHelp Посмотреть сообщение
просто интересно, а почему никто не говорит о наиболее популярной (вроде как) vs?
VS в рекламе не нуждается.
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
27.07.2014, 18:21     Какую ide лучше использовать для c++ #9
kaheu, конкретизируйте: для новичка или того, кто считает себя профессионалом?
ranebull
513 / 346 / 54
Регистрация: 23.06.2013
Сообщений: 1,182
Записей в блоге: 6
27.07.2014, 18:23     Какую ide лучше использовать для c++ #10
Цитата Сообщение от CyberSolver Посмотреть сообщение
kaheu, конкретизируйте: для новичка или того, кто считает себя профессионалом?
Сомневаюсь, что профессионал стал бы задавать подобный вопрос:
Цитата Сообщение от kaheu Посмотреть сообщение
какой ide лучше использовать для c++?
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
27.07.2014, 18:26     Какую ide лучше использовать для c++ #11
Цитата Сообщение от ranebull Посмотреть сообщение
Сомневаюсь, что профессионал стал бы задавать подобный вопрос
Так холивара и троллинга ради. Опять же, никто не считает себя нубом (ну разве что на словах, чтобы спокойно морозить всякую фигню)

Хоть режьте меня, но я считаю, что новичку IDE не нужна. Блокнот (Vim/Emacs/Sublime/Notepad++/SciTE/what-you-like) и консоль. Иначе на выходе получаются быдлокодеры, которые без приснопамятной студии даже прогу не соберут.
gru74ik
Модератор
Эксперт CЭксперт С++
3887 / 1645 / 188
Регистрация: 20.02.2013
Сообщений: 4,697
Записей в блоге: 21
27.07.2014, 18:33     Какую ide лучше использовать для c++ #12
Цитата Сообщение от CyberSolver Посмотреть сообщение
Блокнот (Vim/Emacs/Sublime/Notepad++/SciTE/what-you-like) и консоль.
Ну, можно и так, да.
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 18:35     Какую ide лучше использовать для c++ #13
Цитата Сообщение от CyberSolver Посмотреть сообщение
Хоть режьте меня, но я считаю, что новичку IDE не нужна. Блокнот (Vim/Emacs/Sublime/Notepad++/SciTE/what-you-like) и консоль. Иначе на выходе получаются быдлокодеры, которые без приснопамятной студии даже прогу не соберут.
а чем студия так уж помогает, что без нее потом типа никак? всего лишь подсветка синтаксиса и удобная компиляция с выводом всех ошибок... как раз таки особенно для начинающих это довольно удобно
gru74ik
Модератор
Эксперт CЭксперт С++
3887 / 1645 / 188
Регистрация: 20.02.2013
Сообщений: 4,697
Записей в блоге: 21
27.07.2014, 18:38     Какую ide лучше использовать для c++ #14
Цитата Сообщение от CyberSolver Посмотреть сообщение
новичку IDE не нужна. Блокнот и консоль. Иначе на выходе получаются быдлокодеры
Спорно. Как будто научившись подцеплять компилятор к блокноту, сразу станешь гуру!
Новичку, на мой взгляд, как раз лучше скачать простенькую IDE и спросить на форуме как создать свой первый проект. После этого создать проект, написать свой первый "Hello World!", жмакнуть F9 и радоваться, что уже что-то получается. После этого можно целиком сосредоточиться на книжке и упражнениях.
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
27.07.2014, 18:42     Какую ide лучше использовать для c++ #15
Давайте отвечу обоим двум.

Если человеку с самого начала рассказать про 70-е, консоль и юникс, то мой личный опыт показывает, что у него мозги хотя бы работают в нужном направлении. А вот тем, что начал с "простенькой IDE", что такое Makefile и раздельная компиляция уже не объяснить никогда. Это как начать с Basic в качестве первого языка. (Больше чем уверен, что сейчас набигут толпы сертифицированных одинэсников, которые начинали не то что с QuickBasic, а с Лого.) Как говорил старик Дийкстра, "От своих студентов я требую, чтобы они не знали Фортран. И я не шучу."

Ну и самое главное: я использую любую IDE только для GUI-проектов, хотя вот на Qt опять же пишу под Ubuntu с Sublime в качестве редактора (простите меня, любители nano и joe). И как это я без студии и NetBeans прожил?
DrOffset
6840 / 4051 / 924
Регистрация: 30.01.2014
Сообщений: 6,855
27.07.2014, 18:45     Какую ide лучше использовать для c++ #16
Цитата Сообщение от CyberSolver Посмотреть сообщение
А вот тем, что начал с простенькой IDE, что такое Makefile и раздельная компиляция уже не объяснить никогда.
Категорично слишком. Это вообще сугубо индивидуально: хочет человек развиваться и выходить из зоны комфорта или нет. С чего конкретно он начал, уже не столь важно.
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
27.07.2014, 18:52     Какую ide лучше использовать для c++ #17
DrOffset, может и так. Но вы учтите, какая клоака эти ваши российские провинциальные вузы. Я читал университетские учебники, авторы которых (кандедаты в дохтора) явно ничего сложнее хеловорда не писали. Где все лабы состоят в создании проектика под студию.

Ну или вот ещё: сразу видно идиотию в виде #include <stdafx.h> (ну куда без них), int _tmain и прочих LPSTRZ. Откуда она по вашему? Не из-за того ли, что при использовании IDE надо "создать проект, написать свой первый "Hello World!", жмакнуть F9 и радоваться"? И дело ведь не в студии как таковой. Ослиные уши NetBeans, Eclipse и прочей мути будут торчать отовсюду.

Добавлено через 2 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
С чего конкретно он начал, уже не столь важно.
То есть вы серьёзно считаете, что начать прогать с Forth или Haskell - это то же самое, что с pascal и си? Синдром утенка кто-то отменил? Жалко не могу дать ссылку на подробный разбор того, как первый язык создателей языков повлиял на их детища. Вспомните Кернигана и Ричи со Страуструпом хотя бы.
gru74ik
Модератор
Эксперт CЭксперт С++
3887 / 1645 / 188
Регистрация: 20.02.2013
Сообщений: 4,697
Записей в блоге: 21
27.07.2014, 18:58     Какую ide лучше использовать для c++ #18
Цитата Сообщение от CyberSolver Посмотреть сообщение
что такое Makefile и раздельная компиляция уже не объяснить никогда
Опять же спорно. Читаешь книжку, всё пошагово выполняешь:
Кликните здесь для просмотра всего текста

Раздельная компиляция
Язык C++, как и С, позволяет и даже поощряет размещение функций программы в
отдельных файлах. Как говорилось в главе 1, файлы можно компилировать раздельно,
а затем связывать их с конечным продуктом — исполняемой программой. (Как прави*
ло, компилятор C++ не только компилирует программы, но и управляет работой ком*
поновщика.) При изменении только одного файла можно перекомпилировать лишь
этот файл и затем связать его с ранее скомпилированными версиями других файлов.
Этот механизм облегчает работу с крупными программами. Более того, большинство
сред программирования на C++ предоставляют дополнительные средства, упрощаю*
щие такое управление. Например, в системах Unix и Linux имеется программа make,
хранящая сведения обо всех файлах, от которых зависит программа, и о времени их
последней модификации. После запуска make обнаруживает изменения в исходных
файлах с момента последней компиляции, а затем предлагает выполнить соответ*
ствующие действия, необходимые для воссоздания программы. Большинство интег*
рированных сред разработки (integrated development environment — IDE), включая
Embarcadero C++ Builder, Microsoft Visual C++, Apple Xcode и Freescale CodeWarrior,
предоставляют аналогичные средства, доступ к которым осуществляется с помощью
меню Project (Проект).
Рассмотрим простой пример. Вместо того чтобы разбирать детали компиляции,
которые зависят от реализации, давайте сосредоточим внимание на более общих ас*
пектах, таких как проектирование.
Предположим, что решено разделить программу из листинга 7.12 на части и по*
местить используемые ею функции в отдельный файл. Напомним, что эта программа
преобразует прямоугольные координаты в полярные, после чего отображает резуль*
тат. Нельзя просто вырезать из исходного файла часть кода после окончания функции
main (). Дело в том, что main () и другие две функции используют одни и те же объяв*
ления структур, поэтому необходимо поместить эти объявления в оба файла. При про*
стом наборе объявлений в коде можно допустить ошибку. Но даже если объявления
скопированы безошибочно, при последующих модификациях нужно будет не Забыть
внести изменения в оба файла. Одним словом, разделение программы на несколько
файлов создает новые проблемы.
Кому нужны дополнительные сложности? Только не разработчикам С и C++. Для
решения подобных проблем была предоставлена директива #include. Вместо того
чтобы помещать объявления структур в каждый файл, их можно разместить в заголо*
вочном файле, а затем включать его в каждый файл исходного кода. Таким образом,
изменения в объявление структуры будут вноситься только один раз в заголовочный
файл. Кроме того, в заголовочный файл можно помещать прототипы функций.
Итак, исходную программу можно разбить на три части:
  • заголовочный файл, содержащий объявления структур и прототипы функций,
    которые используют эти структуры;
  • файл исходного кода, содержащий код функций, которые работают со структурами;
  • файл исходного кода, содержащий код, который вызывает функции работы со
    структурами.
Такая стратегия может успешно применяться для организации программы. Если,
например, создается другая программа, которая пользуется теми же самыми функция*
ми, достаточно включить в нее заголовочный файл и добавить файл с функциями в
проект или список make. К тому же такая организация программы соответствует прин*
ципам объектно-ориентированного программирования (ООП). Первый файл — заго*
ловочный — содержит определения пользовательских типов. Второй файл содержит
код функций для манипулирования типами, определенными пользователем. Вместе
оба файла формируют пакет, который можно использовать в различных программах.
В заголовочный файл не следует помещать определения функций или объявления
переменных. Хотя в простейших проектах такой подход может работать, обычно он
приводит к проблемам. Например, если в заголовочном файле содержится определе*
ние функции, и этот заголовочный файл включен в два других файла, которые явля*
ются частью одной программы, в этой программе окажется два определения одной и
той же функции, что вызовет ошибку, если только функция не является встроенной.
В заголовочных файлах обычно содержится следующее:
  • прототипы функций;
  • символические константы, определенные с использованием #define или const;
  • объявления структур;
  • объявления классов;
  • объявления шаблонов;
  • встроенные функции.
Объявления структур можно помещать в заголовочные файлы, поскольку они не
создают переменные, а только указывают компилятору, как создавать структурную пе*
ременную, когда она объявляется в файле исходного кода. Подобно этому объявления
шаблонов — это не код, который нуэдю компилировать, а инструкции для компиля*
тора, указывающие, каким образом генерировать определения функций, чтобы они
соответствовали вызовам функций, встречающимся в исходном коде. Данные, объяв*
ленные как const, и встроенные функции имеют специальные свойства связывания
(вскоре они будут рассмотрены), которые позволяют размещать их в заголовочных
файлах, не вызывая при этом каких-либо проблем.
В листингах 9.1, 9.2 и 9.3 показан результат разделения программы из листинга 7.12
на отдельные части. Обратите внимание, что при включении заголовочного файла
используется запись "coordin.h", а не <coordin.h>. Если имя файла помещено в
угловые скобки, компилятор C++ ищет его в той части базовой файловой системы,
где расположены стандартные заголовочные файлы. Но когда имя файла представле*
но в двойных кавычках, компилятор сначала ищет файл в текущем рабочем каталоге
или в каталоге с исходным кодом (либо в другом аналогичном месте, которое зависит
от версии компилятора). Не обнаружив заголовочный файл там, он ищет его в стан*
дартном местоположении. Таким образом, при включении собственных заголовочных
файлов должны использоваться двойные кавычки, а не угловые скобки.
На рис. 9.1 показаны шаги по сборке этой программы в системе Unix. Обратите
внимание, что пользователь только выдает команду компиляции СС, а остальные
действия выполняются автоматически. Компиляторы командной строки g++, gpp и
Borland C++ (Ьсс32 .ехе) ведут себя аналогичным образом. Среды разработки Apple
Xcode, Embarcadero C++ Builder и Microsoft Visual C++ в сущности выполняют те же
самые действия, однако, как упоминалось в главе 1, процесс инициируется по-друго*
му, с помощью команд меню, которые позволяют создавать проект и ассоциировать с
ним файлы исходного кода. Обратите внимание, что в проекты добавляются только
файлы исходного кода, но не заголовочные файлы. Дело в том, что заголовочными
файлами управляет директива #include. Кроме того, не следует использовать дирек*
тиву #include для включения файлов исходного кода, поскольку это может привести
к дублированным объявлениям.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// coordin.h -- structure templates and function prototypes
// structure templates
#ifndef COORDIN_H_
#define COORDIN_H_
 
struct polar
{
    double distance;    // distance from origin
    double angle;        // direction from origin
};
struct rect
{
    double x;        // horizontal distance from origin
    double y;        // vertical distance from origin
};
 
// prototypes
polar rect_to_polar(rect xypos);
void show_polar(polar dapos); 
 
#endif
Управление заголовочными файлами
Заголовочный файл должен включаться в файл только один раз. Это кажется простым тре-
бованием, которое легко запомнить и придерживаться, тем не менее, можно
непреднамеренно включить заголовочный файл несколько раз, даже не подозревая об этом. Например,
предположим, что используется заголовочный файл, который включает другой
заголовочный файл. В C/C++ существует стандартный прием, позволяющий избежать многократных
включений заголовочных файлов. Он основан на использовании директивы препроцессора
#ifndef (if not defined — если не определено). Показанный ниже фрагмент кода
обеспечивает обработку операторов, находящихся между директивами #if ndef и #endif, только в
случае, если имя coordin_h_ не было определено ранее с помощью директивы
препроцессора #defіпе:
#ifndef COORDIN_H_
#endif
Обычно директива #def ine используется для создания символических констант, как в
следующем примере:
#define MAXIMUM 4096
Однако для определения имени достаточно просто указать директиву #def ine с этим
именем:
#define COORDIN_H_
Прием, применяемый в листинге 9.1, предусматривает помещение содержимого файла
внутрь #ifndef:
#ifndef COORDIN_H_
#define COORDIN_H_
// здесь размещается содержимое включаемого файла
#endif

Когда компилятор впервые сталкивается с этим файлом, имя coordin_h_ должно быть
неопределенным. (Во избежание совпадения с существующими именами, имя строится на
основе имени включаемого файла и нескольких символов подчеркивания.)
В этом случае компилятор будет обрабатывать код между директивами #ifndef и #endif,
что, собственно, и требуется. Во время обработки компилятор читает строку с директивой,
определяющей имя coordin_h_. Если затем компилятор обнаруживает второе включение
соогdin.h в том же самом файле, он замечает, что имя coordin_h_ уже определено, и пере-
ходит к строке, следующей после #endif. Обратите внимание, что данный прием не предот-
вращает повторного включения файла. Вместо этого он заставляет компилятор игнорировать
содержимое всех включений кроме первого. Такая методика защиты используется в большин-
стве стандартных заголовочных файлов С и C++. Если ее не применять, одна и та же структура,
например, окажется объявленной в файле дважды, что приведет к ошибке компиляции.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// file1.cpp -- example of a three-file program
#include <iostream>
#include "coordin.h" // structure templates, function prototypes
using namespace std;
int main()
{
    rect rplace;
    polar pplace;
 
    cout << "Enter the x and y values: ";
    while (cin >> rplace.x >> rplace.y)  // slick use of cin
    {
        pplace = rect_to_polar(rplace);
        show_polar(pplace);
        cout << "Next two numbers (q to quit): ";
    }
    cout << "Bye!\n";
// keep window open in MSVC++
/*
    cin.clear();
    while (cin.get() != '\n')
        continue;
    cin.get();
*/
    return 0; 
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// file2.cpp -- contains functions called in file1.cpp
#include <iostream>
#include <cmath>
#include "coordin.h" // structure templates, function prototypes
 
// convert rectangular to polar coordinates
polar rect_to_polar(rect xypos)
{
    using namespace std;
    polar answer;
 
    answer.distance =
        sqrt( xypos.x * xypos.x + xypos.y * xypos.y);
    answer.angle = atan2(xypos.y, xypos.x);
    return answer;      // returns a polar structure
}
 
// show polar coordinates, converting angle to degrees
void show_polar (polar dapos)
{
    using namespace std;
    const double Rad_to_deg = 57.29577951;
 
    cout << "distance = " << dapos.distance;
    cout << ", angle = " << dapos.angle * Rad_to_deg;
    cout << " degrees\n";
}
В результате компиляции и компоновки этих двух файлов исходного кода и нового
заголовочного файла получается исполняемая программа. Ниже приведен пример ее
выполнения:
Enter the x and у values : 120 80
distance = 144.222, angle = 33.6901 degrees
Next two numbers (q to quit) : 120 50
distance = 130, angle = 22.6199 degrees
Next two numbers (q to quit) : q
Кстати, хотя мы обсудили раздельную компиляцию в терминах файлов, в
стандарте C++ вместо термина файл используется термин единица трансляции, чтобы
сохранить более высокую степень обобщенности; файловая модель — это не единственный
способ организации информации в компьютере. Для простоты в этой книге будет
применяться термин "файл", но помните, что под этим понимается также и "единица
трансляции".

чего тут сложного?
Миниатюры
Какую ide лучше использовать для c++  
gru74ik
27.07.2014, 19:04
  #19

Не по теме:

del

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2014, 19:05     Какую ide лучше использовать для c++
Еще ссылки по теме:

C++ Какую лучше всего в наше время использовать графическую библиотеку?
C++ Какую запись переменных в цикле for лучше использовать?
Множество вершин треугольника - какую лучше структуру использовать? C++
C++ vs C#. Что лучше использовать для поставленных задач? C++
Как лучше спроектировать систему и какую архитектуру разработки приложения использовать? C++

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

Или воспользуйтесь поиском по форуму:
CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
27.07.2014, 19:05     Какую ide лучше использовать для c++ #20
Да ничего сложного. Если вас заставить учить китайский, вы его и по надписям на освежителе воздуха выучите. Я же вам говорю: мой личный печальный опыт состоит в том, что все виденные мной выпускники матфака и факультета компбютерных технологий умеют только открыть студию и чегой-то там подмудрить. И не надо мне говорить, что дело не в IDE, а в прогнившей системе. Я вам открою тайну: никто из моих почти 100 сокурсников даже не догадывается, что IDE просто пишет Makefile за вас. И препод не догадывается. Им что, книжки читать запретили? Нет. Или вы станете отрицать, что вполне отличная IDE Delphi версии ну хотя бы 7 никак не виновата в том, что прямо в обработчиках кнопок вся логика программы?
Yandex
Объявления
27.07.2014, 19:05     Какую ide лучше использовать для c++
Ответ Создать тему
Опции темы

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