С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/65: Рейтинг темы: голосов - 65, средняя оценка - 4.77
34 / 0 / 1
Регистрация: 19.08.2013
Сообщений: 246
1

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

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

Author24 — интернет-сервис помощи студентам
какой ide лучше использовать для c++?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2014, 12:18
Ответы с готовыми решениями:

Какую IDE лучше выбрать для работы с формами в С++?
Какую IDE лучше выбрать для работы с формами в С++? Чтобы был дизайнер форм.

Какую бесплатную среду (IDE) разработки для С++ 2013/2014 года выпуска лучше скачать?
Существуют множество как и бесплатные, так и платные среды разработок для С++ , но что делать,...

Какую библиотеку лучше использовать для работы с файлами в с++?
Какую библиотеку лучше использовать для работы с файлами в с++? stdlib\fstream?

Простая графика для Пятнашек. Какую библиотеку лучше использовать ?
Задача такая: нужно написать игру пятнашки с алгоритмом поиска А*. Я хочу реализовать ее в...

51
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.07.2014, 12:22 2
Бесплатные среды (IDE) для программирования на С/С++
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
27.07.2014, 15:31 3
Цитата Сообщение от kaheu Посмотреть сообщение
какой ide лучше использовать для c++?
Я за Code::Blocks - вот ссылка инсталлера для Windows 2000/XP/Vista/7/8 (там сразу в комплекте всё, что нужно).

На мой взгляд, лучший вариант для новичка:
  • лёгкая (не грузит комп)
  • довольно простая, на мой взгляд, в освоении IDE
  • кросcплатформенная
  • большое коммьюнити
  • проект постоянно развивается
  • бесплатная
  • opensource
  • поддержка стандарта C++11
  • в комплекте вполне себе достойный компилятор MinGW, но при этом парой кликов мыши можно подцепить любой другой компилятор по своему усмотрению
  • поддержка воркспейсов
  • удобный, на мой взгляд, интерфейс
  • может расширяться плагинами
А вообще, вот - можешь сам посмотреть, повыбирать.
0
Одессит
243 / 88 / 44
Регистрация: 30.12.2013
Сообщений: 316
Записей в блоге: 2
27.07.2014, 18:04 4
Поддерживаю за Code Blocks. Ну ущё Dev c++
gru74ik, Как плагины скачать Code Blocks?
0
546 / 379 / 56
Регистрация: 23.06.2013
Сообщений: 1,181
Записей в блоге: 6
27.07.2014, 18:05 5
Цитата Сообщение от kylroma Посмотреть сообщение
Ну ущё Dev c++
Лучше Orwell Dev C++ и wxDev C++
Цитата Сообщение от kylroma Посмотреть сообщение
Как плагины скачать Code Blocks?
Plugins/Manage Plugins - дальше разберетесь.
0
Одессит
243 / 88 / 44
Регистрация: 30.12.2013
Сообщений: 316
Записей в блоге: 2
27.07.2014, 18:13 6
ranebull, я использую code blocks в linux mint, не знаю есть отличия с виндовской версией, но при заходе Plugins/Manage Plugins, могу установить плагины, которые я отдельно скачал. Т.е. программа сама не качает. А с офсайта не могу найти где скачать. Вот разве что ссылка на список плагинов: http://wiki.codeblocks.org/ind... re_Plugins
0
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
27.07.2014, 18:16 7
просто интересно, а почему никто не говорит о наиболее популярной (вроде как) vs?
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.07.2014, 18:20 8
Цитата Сообщение от GetHelp Посмотреть сообщение
просто интересно, а почему никто не говорит о наиболее популярной (вроде как) vs?
VS в рекламе не нуждается.
1
102 / 75 / 17
Регистрация: 23.07.2014
Сообщений: 877
Записей в блоге: 1
27.07.2014, 18:21 9
kaheu, конкретизируйте: для новичка или того, кто считает себя профессионалом?
0
546 / 379 / 56
Регистрация: 23.06.2013
Сообщений: 1,181
Записей в блоге: 6
27.07.2014, 18:23 10
Цитата Сообщение от CyberSolver Посмотреть сообщение
kaheu, конкретизируйте: для новичка или того, кто считает себя профессионалом?
Сомневаюсь, что профессионал стал бы задавать подобный вопрос:
Цитата Сообщение от kaheu Посмотреть сообщение
какой ide лучше использовать для c++?
0
102 / 75 / 17
Регистрация: 23.07.2014
Сообщений: 877
Записей в блоге: 1
27.07.2014, 18:26 11
Цитата Сообщение от ranebull Посмотреть сообщение
Сомневаюсь, что профессионал стал бы задавать подобный вопрос
Так холивара и троллинга ради. Опять же, никто не считает себя нубом (ну разве что на словах, чтобы спокойно морозить всякую фигню)

Хоть режьте меня, но я считаю, что новичку IDE не нужна. Блокнот (Vim/Emacs/Sublime/Notepad++/SciTE/what-you-like) и консоль. Иначе на выходе получаются быдлокодеры, которые без приснопамятной студии даже прогу не соберут.
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
27.07.2014, 18:33 12
Цитата Сообщение от CyberSolver Посмотреть сообщение
Блокнот (Vim/Emacs/Sublime/Notepad++/SciTE/what-you-like) и консоль.
Ну, можно и так, да.
0
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
27.07.2014, 18:35 13
Цитата Сообщение от CyberSolver Посмотреть сообщение
Хоть режьте меня, но я считаю, что новичку IDE не нужна. Блокнот (Vim/Emacs/Sublime/Notepad++/SciTE/what-you-like) и консоль. Иначе на выходе получаются быдлокодеры, которые без приснопамятной студии даже прогу не соберут.
а чем студия так уж помогает, что без нее потом типа никак? всего лишь подсветка синтаксиса и удобная компиляция с выводом всех ошибок... как раз таки особенно для начинающих это довольно удобно
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
27.07.2014, 18:38 14
Цитата Сообщение от CyberSolver Посмотреть сообщение
новичку IDE не нужна. Блокнот и консоль. Иначе на выходе получаются быдлокодеры
Спорно. Как будто научившись подцеплять компилятор к блокноту, сразу станешь гуру!
Новичку, на мой взгляд, как раз лучше скачать простенькую IDE и спросить на форуме как создать свой первый проект. После этого создать проект, написать свой первый "Hello World!", жмакнуть F9 и радоваться, что уже что-то получается. После этого можно целиком сосредоточиться на книжке и упражнениях.
0
102 / 75 / 17
Регистрация: 23.07.2014
Сообщений: 877
Записей в блоге: 1
27.07.2014, 18:42 15
Давайте отвечу обоим двум.

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

Ну и самое главное: я использую любую IDE только для GUI-проектов, хотя вот на Qt опять же пишу под Ubuntu с Sublime в качестве редактора (простите меня, любители nano и joe). И как это я без студии и NetBeans прожил?
0
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
27.07.2014, 18:45 16
Цитата Сообщение от CyberSolver Посмотреть сообщение
А вот тем, что начал с простенькой IDE, что такое Makefile и раздельная компиляция уже не объяснить никогда.
Категорично слишком. Это вообще сугубо индивидуально: хочет человек развиваться и выходить из зоны комфорта или нет. С чего конкретно он начал, уже не столь важно.
2
102 / 75 / 17
Регистрация: 23.07.2014
Сообщений: 877
Записей в блоге: 1
27.07.2014, 18:52 17
DrOffset, может и так. Но вы учтите, какая клоака эти ваши российские провинциальные вузы. Я читал университетские учебники, авторы которых (кандедаты в дохтора) явно ничего сложнее хеловорда не писали. Где все лабы состоят в создании проектика под студию.

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

Добавлено через 2 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
С чего конкретно он начал, уже не столь важно.
То есть вы серьёзно считаете, что начать прогать с Forth или Haskell - это то же самое, что с pascal и си? Синдром утенка кто-то отменил? Жалко не могу дать ссылку на подробный разбор того, как первый язык создателей языков повлиял на их детища. Вспомните Кернигана и Ричи со Страуструпом хотя бы.
1
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
27.07.2014, 18:58 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++  
1
sourcerer
27.07.2014, 19:04
  #19

Не по теме:

del

0
102 / 75 / 17
Регистрация: 23.07.2014
Сообщений: 877
Записей в блоге: 1
27.07.2014, 19:05 20
Да ничего сложного. Если вас заставить учить китайский, вы его и по надписям на освежителе воздуха выучите. Я же вам говорю: мой личный печальный опыт состоит в том, что все виденные мной выпускники матфака и факультета компбютерных технологий умеют только открыть студию и чегой-то там подмудрить. И не надо мне говорить, что дело не в IDE, а в прогнившей системе. Я вам открою тайну: никто из моих почти 100 сокурсников даже не догадывается, что IDE просто пишет Makefile за вас. И препод не догадывается. Им что, книжки читать запретили? Нет. Или вы станете отрицать, что вполне отличная IDE Delphi версии ну хотя бы 7 никак не виновата в том, что прямо в обработчиках кнопок вся логика программы?
0
27.07.2014, 19:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2014, 19:05
Помогаю со студенческими работами здесь

Какую среду разработки лучше использовать новичку?
Пытаюсь начать изучать c++ и нужно несколько советов: 1) Какую среду разработки лучше использовать...

Какую запись переменных в цикле for лучше использовать?
Какую запись переменных в цикле for лучше использовать? 1) for(int i = 1; i &lt;= 12; i++) 2)...

Множество вершин треугольника - какую лучше структуру использовать?
Допустим, каждый треугольник задан 3 вершинами. Я хочу создать некий контейнер, который будет...

Какую лучше всего в наше время использовать графическую библиотеку?
Какую лучше всего в наше время использовать графическую библиотеку? в VS 2012, слышал об SFML, и...


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

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