Что такое code blocks
CodeBlocks в вопросах и ответах
Мне часто присылают вопросы по CodeBlocks. В этой статье я хочу ответить на самые популярные.
1. Почему CodeBlocks самая скачиваемая IDE в мире?
Один из самых больших в мире веб-сайтов для разработчиков открытого ПО — это сайт SourceForge.net. На этом сервисе размещено более 430 000 проектов. В день загружается более 4,5 миллионов программ.
Если посмотреть статистику по скачиванию IDE, то на первом месте стоит Code::Blocks.
Почему же IDE CodeBlocks такая популярная? Ответ прост — это среда, которая делается программистами для программистов. Она содержит такое количество настроек, что каждый может с легкостью настроить ее под себя. А количество возможностей просто зашкаливает:
В результате CodeBlocks имеет высокий рейтинг.
2. Как указать программе аргументы командной строки?
Меню: «Проект — Параметры программы»
Учтите при этом, что если вам нужно передать в качестве параметра имя файла, то убедитесь, что файл находится в рабочем каталоге выполнения. Посмотреть каталог можно в меню «Проект — Свойства — Цели сборки».
3. Как быстро отформатировать текст программы?
Когда вы копируете некоторый пример исходного текста, то часто он выглядит неряшливо. Например, так.
Для быстрого форматирования используйте плагин Astyle.
Результат будет такой:
4. Как добавить поддержку ISO С 11 в компилятор?
Меню: «Настройки — Компилятор»
5. Как включить панель вывода?
Клавиша F2 включает-выключает панель вывода.
6. Как писать программы не для консоли?
По умолчанию весь вывод программы на Си идет в консоль. Консоль — это специальное окно для вывода системных сообщений.
Если вы хотите создавать оконный интерфейс, то нужно использовать некоторую оконную библиотеку.
Самое простое — это использовать Win32API. Или использовать кросс-платформенную библиотеку GTK+.
В этом случае оконо консоли вам будет не нужно и надо его отключить. Для этого щелкните правой кнопкой мыши на проекте и в меню выберите свойства:
Затем выберите вкладку «Цели сборки» и в списке «тип» вместо «Консольное приложение» выберите «Приложение с графическим интерфейсом».
Нажмите «ok» для сохранения. После этого внесите любое исправление в программе (вставьте пустую строку) и нажмите F9. Консоль исчезнет.
7. Как указать путь к библиотеке?
Если программа использует сторонние библиотеки, то вовремя запуска программа должна иметь доступ к этим библиотекам. Самое простое — это скопировать файлы библиотеки в папку с программой.
Но есть и альтернативный путь. Вы можете указать компилятору папку, где брать файлы. Например, в сборке Си-экспресс все библиотеки GTK+ лежат в папке GTK-LIB. Вы можете указать эту папку в настройках компилятора:
Меню: «Настройки — Compiler… — Программы — Дополнительные пути».
Только не забудьте скопировать эти файлы в папку программы, когда понесете программу заказчику.
8. Как в CodeBlocks сменить сочетания клавиш?
Меню: «Настройки — Редактор — Сочетание клавиш»
9. Как запустить программу с точкой останова?
На нужной строчке нажмите правую кнопку мыши и выберите «Переключить точку останова».
Затем запустите отладчик любым из трех вариантов:
10. Как поменять цвет комментариев в codeblocks
Меню — Настройки — Редактор — Подсветка синтаксиса
И поменяйте цвет для строк:
Внизу в тексте сразу отразятся изменения цветов, которые вы сделали.
11. Что означает сообщение «Другой экземпляр программы уже работает»?
Если вы получили такое сообщение:
это означает, что вы попытались запустить CodeBlocks дважды. По умолчанию так делать нельзя. Это не ошибка, поэтому волноваться нечего.
Если вам нужно запустить несколько экземпляров, то зайдите в меню «Настройки — Среда» и уберите галочку: «Разрешить работу только одного экземпляра…»
12. Можно ли устанавливать одновременно CodeBlocks и другую IDE?
Если вы устанавливаете сборку Си-экспресс, то она ничего не меняет в системных файлах. Распаковали и работает. Больше не нужна — удалили папку и всё. Поэтому вы можете использовать эту сборку совместно с любыми IDE на вашем компьютере.
13. Что означает цвета желтый и зеленый в строках редактора?
Это показатель изменений:
CodeBlocks — среда программирования на языке C/C++
Code::Blocks — это бесплатная кроссплатформенная среда разработки на языке C/C++. На данный момент это лучшая бесплатная среда разработки на языке Си.
Code::Blocks разрабатывается для Windows, Linux и Mac OS X.
В среде Windows скачать эту среду удобнее всего в составе сборки Си-экспресс, в которой уже есть все необходимые библиотеки для начала работы. Сборка не требует установки и работает по принципу: «Распаковал и работай».
Поддерживаемые компиляторы
Code::Blocks поддерживает следующие компиляторы:
Готовые шаблоны
CodeBlocks имеет готовые шаблоны проектов, которые позволяют быстро создать минимальное приложение.
Редактор кода
Редактор кода обладает всеми возможностями для комфортной работы программиста:
Количество настроек редактора просто огромно:
Кроме общих настроек также настраивается:
Плагины
Возможности редактора могут быть расширены с помощью плагинов. Например:
Отладчик
В качестве отладчика по умолчанию CodeBlocks использует GDB — самый популярный отладчик для языка Си, который был разработан еще Ричардом Столменом.
Отладчик позволяет установить точки останова и затем пошагово выполнять код с одновременным мониторингом переменных и массивов. Также вы можете отслеживать стеки вызываемых функций.
Итоги
Количество возможностей и настроек среды CodeBlocks позволяют превратить эту среду в отличный инструмент Си-программиста.
CodeBlocks :: не просто ещё одна IDE
Видя регулярные холивары «студия vs эклипс» или «programmers notepad против vim», каждый раз собираюсь поведать миру об универсальном инструменте, которым сам пользуюсь в течение уже нескольких лет.
Это многофункциональная IDE для С/С++ разработки Code::Blocks.
CodeBlocks — это свободная кроссплатформенная среда, заполняющая нишу между монструальными и неповоротливыми «взрослыми» системами для больших проектов, типа Eclipse, Visual Studio, Net Beans, и убогими по функционалу, но шустрыми блокнотами типа Scintilla, причем преимущества и тех, и других складываются и позволяют использовать данную систему как для написания небольших проектов для встраиваемых приложений, так и для программирования приложений для РС под Windows, Linux и MacOs.
Основные характерные особенности среды:
Итак, начнем по порядку.
CodeBlocks имеет быструю встроенную систему сборки, способную реализовывать параллельную сборку (задействуя при этом «лишние» головы процессора), но одновременно с этим допускает сборку внешними инструментами (GNU Make, Cmake, etc) с рукописными скриптами типа makefile, причем тоже многопоточно.
Как и мощные профессиональные оболочки, имеет развитые средства поддержки проектов, включая workspace для объединения родственных проектов, общие межпроектные зависимости, множественные цели (target)
Предусмотрен механизм импорта проектов из других сред разработки
а также экспорта открытого файла в разнообразные форматы:
Отладка
Как и эклипс, кодеблокс позволяет отлаживать проекты через интерфейс GNU GDB (и даже «Also supports MS CDB»).
Лично я никогда отладками не пользовался, и даже ноги JTAG на платах остаются неразведенными, но многие жизни без него не представляют. Поэтому спешу успокоить: CodeBlocks ничуть не хуже в этом плане, чем остальные. Вот цитата с оф. сайта:
Интерфейс
Автодополнение (Code-completion). После ввода 4-х символов выпадает список с подходящими идентификаторами. Количество начальных символов настраивается, как и многие другие параметры.
Выбор варианта подсветки исходного текста — без комментариев:
Контекстное меню (правой кнопкой в окне редактора) весьма развито:
Пункты меню «Find declaration of» и «Find implementation of» служат для поиска объявления и реализации (имплементации) выделенного объекта, а «Find occurrences of» — все включения во всех файлах проекта.
В этом же меню видим упоминавшийся ранее «Swap header/source».
Чуть ниже — запуск плагина автоформатирования AStyle, который форматирует текущий файл по одному из шаблонов:
То, что в меню указаны хоткеи не для всех пунктов, отнюдь не означает, что их нельзя настроить.
Более того, настройки можно разложить по разным профилям.
Можно сплитить рабочий экран на произвольное количество окошек.
Легко и непринужденно — простым перетаскиванием вкладок к границам основного окна.
Перетаскивая вкладки из дополнительных окон в основное или соседние, можно объединять их обратно.
Ещё одна мегафича, которая мне нравилась ещё в IARe, это быстрая навигация вперед/назад: Alt + стрелки вправо/влево.
Наверно, я уже утомил своим перечислением, хотя не затронул многих интересных вещей. Пора переходить к практической части.
Установка
Чтобы был доступен весь функционал, нужно при установке отметить галочку включения дополнительных плагинов. Хотя, можно их добавить и после установки, но это не так удобно. В конце концов, проще после некоторых экспериментов отключить или удалить неиспользуемые.
Также, при установке в 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.
В общем, немного сумбурно получилось, но общее представление, надеюсь, дает.
Свободная кроссплатформенная среда с открытым кодом и расширяемая с помощью плагинов, которая имеет большинство функций, имеющихся в других продуктах, как коммерческих, так и свободных, весьма нетребовательна как к объему памяти и носителей, так и к производительности системы. В частности, работает заметно шустрее эклипса. На мой взгляд, идеальное средство для разработки программ для микроконтроллеров и небольших сервисных программ (например, консольных).
Если будет интерес к теме, в следующий раз опишу процесс создания микроконтроллерного проекта.
Code::Blocks
Code::Blocks — свободная кроссплатформенная среда разработки. Code::Blocks написана на С++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D (с ограничениями).
Code::Blocks разрабатывается для Windows, Linux и Mac OS X. Среду можно собрать из исходников практически под любую Unix-подобную систему, например FreeBSD [1]
Содержание
Возможности
Возможности компиляции
Возможности интерфейса
Возможности отладки
Примечания
См. также
Ссылки
Boa Constructor • Eclipse+PyDev • Eric • Geany • IDLE • Komodo • NetBeans • PyCharm • PyScripter • SPE
Технологии | XML Resource | ||||
---|---|---|---|---|---|
Строители RAD/GUI |
| ||||
Библиотеки | wxSQLite3 | ||||
Привязки | wxPython · wxPerl · wxBasic · wxHaskell · GLUEscript |
Полезное
Смотреть что такое «Code::Blocks» в других словарях:
Code::Blocks — Entwicklungsumgebung Code::Blocks Basisdaten Entwickler The Code::Blocks Team Aktuelle … Deutsch Wikipedia
Code::Blocks — sur MacOs … Wikipédia en Français
Code::Blocks — Not to be confused with the computer programming term code block. Code::Blocks Code::Blocks 10.05 running on Windows Vista … Wikipedia
Code::Blocks — No debe confundirse con codeblock. Code::Blocks Code::Blocks Desarrollador The Code::Blocks tea … Wikipedia Español
Code Blocks — … Википедия
Code Folding — Code Faltung oder Code Folding bezeichnet eine Funktion in Editoren, insbesondere in modernen integrierten Entwicklungsumgebungen, um logisch zusammengehörende Quelltextabschnitte wie Klassen oder Methoden in sogenannten Folds bzw. Falten zu… … Deutsch Wikipedia
Code folding — is a feature of some text editors, source code editors and IDEs that allows the user to selectively hide and display sections of a currently edited file as a part of routine edit operations. This allows the user to manage large amounts of text… … Wikipedia
Code-Faltung — oder Code Folding bezeichnet eine Funktion in Editoren, insbesondere in modernen integrierten Entwicklungsumgebungen, um logisch zusammengehörende Quelltextabschnitte wie Klassen oder Methoden in sogenannten Folds bzw. Falten zu gruppieren. Man… … Deutsch Wikipedia
Code Age Commanders: Tsugu Mono Tsuga Reru Mono — Developer(s) Square Enix Publisher(s) Square Enix Director(s) … Wikipedia
Установка и настройка Code::Blocks
Code::Blocks — свободная интегрированная среда разработки (IDE) с отрытым исходным кодом, которая поддерживает использование различных компиляторов. По умолчанию Code::Blocks использует компилятор MinGW, который поставляется в комплекте (можно скачать дистрибутив и без встроенного компилятора). MinGW – это вариант компилятора GNU C/C++ для Windows. MinGW – это сокращение «Minimalist GNU для Windows». Набор MinGW включает инструменты для программирования с открытым исходным кодом, которые не зависят от каких-либо платных сторонних библиотек. Он используется многими средами разработки (Visual Studio использует собственный компилятор). MinGW включает набор GNU Compiler Collection (GCC), включая компиляторы C, C ++, ADA и Fortran. Code::Blocks имеет открытую архитектуру, что позволяет ему масштабироваться за счёт подключаемых модулей (можно писать программы как под windows, linux, так и под различные микропроцессоры типа avr и stm32). Отладчик кода в Code::Blocks поддерживает точки останова в исходном коде или в данных, которые обрабатывает программа.
Установка компилятора MinGW
Установка самого Code::Blocks не представляет ничего сложного. Желательно только устанавливать его в папку, в пути к которой нет пробелов или кириллицы. Дистрибутив Code::Blocks версии 17.12 содержал старую версию компилятора MinGW, поэтому приходилось отдельно скачивать Code::Blocks без компилятора MinGW и затем устанавливать компилятор. В настоящий момент версия Code::Blocks 20.03 содержит актуальную версию MinGW (по умолчанию используется 64-разрядная версия компилятора, но можно скачать дистрибутив и с 32-разядной версией). Но на всякий случай рассмотрим отдельно установку MinGW (на примере 32-разрядной версии). Сначала скачиваем дистрибутив Code::Blocks с сайта проекта mingw.org. После запуска появится следующее окно.
Нажмимаем Install и получаем следующее окно.
Здесь в поле Installation Directory указываем расположение файлов компилятора. По умолчанию это C:\MinGW, его и оставляем. Нажимаем Continue и начинается загрузка и установка менеджера для установки MinGW.
Нажимаем Continue и получаем следующее окно.
По завершении загрузки пакетов нажимаем на кнопку Close
Создание проекта
В появившемся окне выбираем необходимый тип проекта. Здесь мы видим, что Code::Blocks имеет большое количество шаблонов проектов. В нашем случае это Console application (консольное приложение).
В следующем окне выбираем используемый язык программирования. Выбираем C++ и нажимаем на кнопку Next.
Далее в поле Project Title вписываем название проекта. В нашем случае это Test. Тут же указываем расположение проекта на диске (поле Folder to create project in). В указанной нами папке Code::Blocks автоматически создаст папку с ранее указанным названием проекта. Указав имя папки и имя файла, нажимаем на кнопку Next.
В следующем окне выбираем компилятор, а также сценарии сборки. По умолчанию выбран GNU GCC Compiler, который мы и будем использовать. Сценарии сборки позволяют получить несколько версий одного приложения. По умолчанию предполагается два сценария: Debug (используется при отладке) и Release (сценарий компиляции готового приложения). Хотя бы один из сценариев должен быть выбран. Если выбраны оба сценария, то в дальнейшем можно будет переключаться между ними.
Жмём Finish и получаем минимальную программу, так называемый Hello World!
Нажмимаем F9 для компиляции и запуска программы и получаем следующее окно.
Обратите внимание на кнопки на панели инструментов, предназначенные для запуска и компиляции программы.
Первая слева кнопка (с желтой шестеренкой) запускает только компиляцию программы, вторая (с зеленым треугольником) запускает на исполнение последний скомпилированный файл программы, третья (с зеленым треугольником и желтой шестеренкой) — сначала запускает компиляцию программы, а затем запускает полученный exe-файл программы. Частой ошибкой является использование кнопки запуска (с зеленым треугольником) для компиляции и запуска программы. В этом случае внесенные в исходный код изменения не будут влиять на поведение программы, поскольку программа не была перекомпилирована.
Если открытый для редактирования файл был изменен, то на его вкладке слева от имени появится звездочка как на рисунке ниже. Для сохранения программ, как и во многих других приложениях достаточно нажать сочетание клавиш Ctrl+S. Расположение (путь) и имя отрытого в данный момент файла отображается в строке состояния, в левой нижней части окна.
Для переключения между проектами необходимо навести указатель мыши, на тот проект, который вы необходимо сделать активным и затем дважды кликнуть левой кнопкой мыши на названии проекта либо кликнуть один раз правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Activate project. В этом же меню доступны другие действия с проектом (в том числе добавление в проект новых файлов).
Поддержка кириллицы в консоли
Проблема отображения кириллических символов в консоли Windows связана с тем, что консоль в этой операционной системе имеет собственную настройку кодовой страницы. Если Windows использует кодировку cp1251 (она же windows-1251), то консоль по умолчанию использует cp866 использовавшуюся в MS-DOS. Поэтому для корректного ввода и вывода кириллицы на консоль надо использовать пару функций SetConsoleCP() и SetConsoleOutputCP() соответственно. В качестве единственного параметра обеим функциям передается номер кодовой страницы – 1251. Для использования кодировки UTF-8 необходимо передать значение CP_UTF8.
Ниже показан пример программы, которая сначала просто выводит строку с кириллическими символами, а затем считывает строку и выводит ее обратно на экран.
Следует заметить, что при использовании только функции setlocale(LC_ALL, «Russian») вывод осуществляется в cp1251, а ввод – в cp866. Это приводит к тому, что в памяти программы введённая с кириллическими символами строка хранится в другой кодировке. Наглядно это можно увидеть, если в показанном примере закомментировать вызов функции SetConsoleCP(). Строка которую выдаст программа будет отличаться от той, что ввели с клавиатуры.