8-900-374-94-44
[email protected]
Slide Image
Меню

Codeblocks vs visual studio: Compare Code Blocks vs Visual Studio IDE 2021

Содержание

Установка IDE (Интегрированной Среды Разработки) в C++ | Уроки С++

  Обновл. 11 Окт 2020  | 

Интегрированная Среда Разработки («IDE» от «Integrated Development Environment») — это программное обеспечение, которое содержит всё необходимое для разработки, компиляции, линкинга и отладки кода. Нам нужно установить одну такую IDE для написания программ на языке С++.

Но какую именно? Я рекомендую Visual Studio от Microsoft (для пользователей Windows) или Code::Blocks (для пользователей Linux/Windows). Также вы можете установить и любую другую IDE. Основные концепции, рассматриваемые в данных уроках, должны работать во всех средах разработки. Впрочем, иногда код может частично отличаться в разных IDE, поэтому вам придется самостоятельно искать более подробную информацию о работе в выбранной вами IDE.

IDE для пользователей Windows

Если вы пользователь Windows (как и большинство из нас), то установите Visual Studio 2019 версию «Community», которая является бесплатной (все остальные версии — платные):

После того, как вы скачаете и запустите установщик, вам нужно будет выбрать "Разработка классических приложений на C++". Пункты, выбранные по умолчанию в правой части экрана, трогать не нужно — там всё хорошо, только убедитесь, что поставлена галочка возле пункта "Пакет SDK для Windows 10". Этот пакет может использоваться и в ранних версиях Windows, поэтому не переживайте, если у вас Windows 7 или Windows 8 — всё будет работать. Затем нажимаем "Установить":

При желании вы можете указать галочки и возле других пунктов для скачивания, но учтите, что тогда размер вашей IDE будет увеличен.

IDE для пользователей Linux/Windows

Если вы пользователь Linux (или Windows, но хотите писать программы, которые затем можно будет легко портировать в Linux), то установите Code::Blocks.

Это бесплатная, кроссплатформенная IDE, которая работает как в Linux, так и в Windows.

Пользователям Windows нужно загружать версию с MinGW в комплекте: 

Установка простая: просто соглашаетесь со всем, о чём вас спрашивают. Функционал C++11/C++14 в Code::Blocks по умолчанию может быть отключен. Чтобы его использовать, вам нужно перейти в "Settings" > "Compiler":

И во вкладке "Compiler Flags" поставить галочку возле пункта "Have g++ follow the C++14 ISO C++ language standard [-std=c++14]", затем нажать "OK":

Примечание: После установки Code::Blocks у некоторых пользователей может появиться следующее сообщение об ошибке: Can’t find compiler executable in your configured search paths for GNU GCC Compiler. Если вы столкнулись с этим, то попробуйте выполнить следующее:

   Если вы пользователь Windows, убедитесь, что вы загрузили версию Code::Blocks с MinGW (в названии скачиваемого установщика должно быть слово

mingw).

   Попробуйте полностью удалить Code::Blocks, а затем установите его заново.

   Перейдите в "Settings" > "Compiler" и выберите "Reset to defaults".

   Если ничего из вышеуказанного не помогло, попробуйте установить другую IDE.

В качестве альтернативы подойдет Bloodshed’s Dev-C++, который также работает как в Windows, так и в Linux.

IDE для пользователей macOS

Пользователи техники Apple могут использовать Xcode или Eclipse. Eclipse по умолчанию не настроен на использование языка C++, поэтому вам нужно будет дополнительно установить компоненты для C++.

Веб-компиляторы

Веб-компиляторы подходят для написания простых, небольших программ. Их функционал ограничен: вы не сможете сохранять проекты, создавать исполняемые файлы или эффективно проводить отладку программ, поэтому лучше скачать полноценную IDE, если у вас действительно серьезные намерения по поводу программирования.

А веб-компиляторы используйте разве что для быстрого запуска небольших программ.

Популярные веб-компиляторы:

   OnlineGDB

   TutorialsPoint

   C++ Shell

   Repl.it

Теперь, когда вы установили IDE, пора написать нашу первую программу!

Оценить статью:

Загрузка…

Поделиться в социальных сетях:

не просто ещё одна IDE / Софт для электронщика / Сообщество EasyElectronics.ru

Видя регулярные холивары «студия vs эклипс» или «programmers notepad против vim», каждый раз собираюсь поведать миру об универсальном инструменте, которым сам пользуюсь в течение уже нескольких лет.
Это многофункциональная IDE для С/С++ разработки Code::Blocks.


CodeBlocks — это свободная кроссплатформенная среда, заполняющая нишу между монструальными и неповоротливыми «взрослыми» системами для больших проектов, типа Eclipse, Visual Studio, Net Beans, и убогими по функционалу, но шустрыми блокнотами типа Scintilla, причем преимущества и тех, и других складываются и позволяют использовать данную систему как для написания небольших проектов для встраиваемых приложений, так и для программирования приложений для РС под Windows, Linux и MacOs.

Основные характерные особенности среды:

  • Кроссплатформенная IDE с открытым кодом, основанная на библиотеке wxWidgets
  • Компактное ядро и расширение функционала посредством множества плагинов
  • Встроенный интерфейс под множество компиляторов и тулчейнов, как свободных, так и проприетарных
  • Множество визардов для быстрого создания шаблона проекта как для разнообразных микропроцессорных архитектур (
    AVR, ARM, PowerPC
    ), так и для библиотек и тулкитов под РС: GTK, Qt, WxWidgets, OpenGL итд.
  • Компактная и интуитивно понятная структура меню, обеспечивающая быструю настройку среды
  • Огромное количество забавных и полезных рюшечек, которые я до сих пор с удивлением иногда нахожу 🙂

Данный пост — просто беглый обзор возможностей и особенностей IDE CodeBlocks, который(ая?) незаслуженно обделен вниманием, на мой субъективный взгляд.

Итак, начнем по порядку.

«Из коробки» C::B поддерживает многие компиляторы и архитектуры:

  • GCC (MingW / GNU GCC)
  • MSVC++
  • Digital Mars
  • Borland C++ 5.5
  • Open Watcom
  • …and more

  • AVR (WinAvr)
  • MSP430 (MSPGCC)
  • ARM
  • PowerPC
  • MathLab
  • OpenGL
  • GTK+, Qt, wxWidgets, WinGUI
  • … и многое другое

CodeBlocks имеет быструю встроенную систему сборки, способную реализовывать параллельную сборку (задействуя при этом «лишние» головы процессора), но одновременно с этим допускает сборку внешними инструментами (GNU Make, Cmake, etc) с рукописными скриптами типа makefile, причем тоже многопоточно.

Как и мощные профессиональные оболочки, имеет развитые средства поддержки проектов, включая workspace для объединения родственных проектов, общие межпроектные зависимости, множественные цели (target)

Предусмотрен механизм импорта проектов из других сред разработки

а также экспорта открытого файла в разнообразные форматы:

Отладка
Как и эклипс, кодеблокс позволяет отлаживать проекты через интерфейс GNU GDB (и даже «Also supports MS CDB»).

Лично я никогда отладками не пользовался, и даже ноги JTAG на платах остаются неразведенными, но многие жизни без него не представляют. Поэтому спешу успокоить: CodeBlocks ничуть не хуже в этом плане, чем остальные. Вот цитата с оф. сайта:

  • Full breakpoints support:
    • Code breakpoints
    • Data breakpoints (read, write and read/write)
    • Breakpoint conditions (break only when an expression is true)
    • Breakpoint ignore counts (break only after certain number of hits)
  • Display local function symbols and arguments
  • User-defined watches (support for watching user-defined types through scripting)
  • Call stack
  • Disassembly
  • Custom memory dump
  • Switch between threads
  • View CPU registers

Поскольку сам не пользовался, ручаться не могу, оставим достоверность заявлений на совести разработчиков.
Переводить не стал, ибо в оригинале понятнее.
Интерфейс
Практически ничем не уступает «старшим братьям».
  • Подсветка синтаксиса, настраиваемая и расширяемая (хотя куда уж шире — см. скриншоты ниже)
  • Сворачивание кода (folding) для С/С++ и XML
  • Система вкладок в рабочем окне и дополнительных фреймах
  • Свободная планировка фреймов и произвольное деление (split) рабочего окна
  • Автодополнение кода
  • Обозреватель классов
  • Быстрое переключение между .c и .h файлами (swap)
  • Список открытых файлов для быстрой навигации, когда табов уже не хватает
  • TODO list
  • ну и многое другое, реализуемое плагинами.

Ну и теперь, как обещал, несколько иллюстраций.


Автодополнение (Code-completion). После ввода 4-х символов выпадает список с подходящими идентификаторами. Количество начальных символов настраивается, как и многие другие параметры.


Вводим точку после имени структуры — выпадает список полей. То же самое со структурными операторами -> и ::

Выбор варианта подсветки исходного текста — без комментариев:

Обратите внимание на опции для управления комментариями:

Comment/Uncomment имеют хоткеи и позволяют быстро комментировать и раскомментировать строки и куски текста.
Что характерно, комментарии вставляет именно такие, какие требуются для данного типа файлов.
Например, для.с и .h — «//», а для makefile или python — «#»

Контекстное меню (правой кнопкой в окне редактора) весьма развито:

Пункты меню «Find declaration of» и «Find implementation of» служат для поиска объявления и реализации (имплементации) выделенного объекта, а «Find occurrences of» — все включения во всех файлах проекта.

В этом же меню видим упоминавшийся ранее «Swap header/source».

Чуть ниже — запуск плагина автоформатирования AStyle, который форматирует текущий файл по одному из шаблонов:

То, что в меню указаны хоткеи не для всех пунктов, отнюдь не означает, что их нельзя настроить.

Более того, настройки можно разложить по разным профилям.

Можно сплитить рабочий экран на произвольное количество окошек.

Легко и непринужденно — простым перетаскиванием вкладок к границам основного окна.
Перетаскивая вкладки из дополнительных окон в основное или соседние, можно объединять их обратно.

Ещё одна мегафича, которая мне нравилась ещё в IARe, это быстрая навигация вперед/назад: Alt + стрелки вправо/влево.

Также, очень удобная фишка под названием Default code.
Можно задать «шапку» для файлов, отдельно для.с и .h, которая будет автоматически подставляться при создании новых файлов. Плюс, при создании .h файлов может автоматически добавляться стандартный предохранитель от множественного включения:

#ifndef FILENAME_H
#define FILENAME_H

#endif

Наверно, я уже утомил своим перечислением, хотя не затронул многих интересных вещей. Пора переходить к практической части.

Установка

Если Вы пользователь Windows, то идем на страницу загрузки и готовимся потратить от 23 до 74М траффика (в зависимости от MinGW).
Сторонники Светлой Стороны могут для начала поискать в своем менеджере пакетов.
Имеются готовые сборки .deb (debian/ubuntu) и .rpm (Fedora, SUSE, Mandriva)

Чтобы был доступен весь функционал, нужно при установке отметить галочку включения дополнительных плагинов. Хотя, можно их добавить и после установки, но это не так удобно. В конце концов, проще после некоторых экспериментов отключить или удалить неиспользуемые.

Также, при установке в windows присутствует опция MinGW, по которой C::B устанавливает свой личный экземпляр MinGW внутри себя.
Забегая вперед, скажу, что эта штука может конфликтовать с другими win-gcc тулчейнами, находящимися в системе, например, с CygWin, так что в случае необъяснимых ошибок или подвисаний проблема скорее всего в этом.
В некоторых источниках рекомендуют ставить в последовательности wxWidgets (если нужно) — MinGW — CB(без MinGW).

Итак, установили.
Пока пыл не угас, попробуем по-быстрому чего-нибудь состряпать.
Например, окошко WinGUI.

1. Создаем новый проект. File-> New-> Project (или ссылку Create a new project на странице приветствия).

2. Из кучи визардов выбираем Win32 GUI project (придется ещё вниз помотать) и жмем «Go».

Далее следуем инструкциям, заполняем необходимые поля и в конечном итоге получаем проект-шаблон с готовой центральной формой.

Запускаем. Жмем Build, Run или Build and run

[ 50.0%] Compiling: main.cpp
[100.0%] Linking executable: bin\Release\ggg.exe
Output size is 7.00 KB
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
Build log saved as:
file://D:%5cwork%5cEXPERIMENTS%5cCB_Wx%5cggg%5cggg_build_log.html

Вуаля:

Ну, кто тут спрашивал, в чем бы под винду написать? 🙂
Шучу, конечно. На самом деле это была просто иллюстрация, естественно, что на голом WinGUI никто писать не будет, когда есть возможность пользоваться удобными фреймворками типа wxWidgets или Qt.

В общем, немного сумбурно получилось, но общее представление, надеюсь, дает.

Свободная кроссплатформенная среда с открытым кодом и расширяемая с помощью плагинов, которая имеет большинство функций, имеющихся в других продуктах, как коммерческих, так и свободных, весьма нетребовательна как к объему памяти и носителей, так и к производительности системы. В частности, работает заметно шустрее эклипса. На мой взгляд, идеальное средство для разработки программ для микроконтроллеров и небольших сервисных программ (например, консольных).

Если будет интерес к теме, в следующий раз опишу процесс создания микроконтроллерного проекта.

Материалы по теме:

Официальный сайт С:: В
Записки программиста, и ещё.
Статья на ProSpo.ru
Первая программа

Ну и вообще, тысячи их.

Поиск и замена текста и выбор нескольких точек вставки — Visual Studio