- Как работать с CodeBlocks
- Установка и настройка Code::Blocks
- Установка компилятора MinGW
- Создание проекта
- Поддержка кириллицы в консоли
- 10 настроек CodeBlocks, которые надо сделать сразу после установки
- 1. Установите ассоциации с файлом проектов
- 2. Увеличьте шрифт редактора
- 3. Увеличьте шрифт выводимых сообщений
- 4. Выберите стиль отступов
- 5. Создайте свой шаблон проекта
- 6. Установите код текста программы по умолчанию
- 7. Настройте стиль подсветки синтаксиса
- 8. Настройте сочетания клавиш
- 9. Настройте сокращения для быстрого ввода кода
- 10. Добавьте сниппеты
- Похожие записи:
- Комментарии 24
Как работать с CodeBlocks
После запуска CodeBlocks нажимаен на кнопку New file — это первая кнопку с изображением чистого белого листика с желтым плюсиком в правом верхнем углу.
Далее, в выпадающем меню, выбираем Empty file (т.е. пустой файл)
Либо вместо предыдущих двух действий выполняем по порядку то, что указано на картинке: Выбираем меню File -> New -> Empty file:
Добавиться пустое окно в которое мы и можем записать нашу программу. Затем мы сохраняем файл нажимаю на кнопку с одной дискеткой.
Откроется диалогое окно, которое предложит назвать файл нашей программы.
Сразу укажем расширение — cpp сместо c.
Укажем таки название нашей программы с указанным расширением и нажмем кнопку Сохранить:
На закладке имени нашей программы смениться название и текст (код) нашей программы со смыслом раскрасится, выделяя команды для удобства восприятия:
Написав программу, её нужно скомпилировать и запустить. Сделать это можно нажав на кнопку «Build and run» (шестерёнка с зелёным треугольничком) показанную на картинке:
Под окном с текстом (кодом) нашей программы компилятор покажет есть ли ошибки (errors) или предупреждения (warnings) и сколько их. При условии отсутствия ошибок программа запуститься в чёрном окне и выведет результат своей работы.
Нажмите любую кнопку для завершения работы программы — чёрное окно закроется и можем продолжить писать код нашей программы.
Источник
Установка и настройка 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 поддерживает точки останова в исходном коде или в данных, которые обрабатывает программа.
Code::Blocks доступен под Windows, Linux и Mac OS X. Сайт проекта — codeblocks.org.
Установка компилятора 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 и получаем следующее окно.
Для программированя на C++ выбираем для установки пакеты mingw32-base-bin (A Basic MinGW Installation) и mingw32-gcc-g++-bin (The GNU C++ Compiler), а затем жмём в меню Installation -> Apply Changes. Появится окно, в котором будет отображаться загрузка выбранных пакетов.
По завершении загрузки пакетов нажимаем на кнопку Close
При первом запуске Code::Blocks автоматически обнаружит установленный компилятор. При возникновении проблем необходимо перейти в меню Settings -> Compiler. и на вкладке Toolchain executables проверить правильность пути к MinGW, а также имена файлов компилятора и линковщика. Теперь можно создавать проект.
Создание проекта
Для создания проекта необходимо перейти в меню File -> New -> Project. . Либо сразу нажать на кнопку Create a new project на стартовой странице.
В появившемся окне выбираем необходимый тип проекта. Здесь мы видим, что 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. Расположение (путь) и имя отрытого в данный момент файла отображается в строке состояния, в левой нижней части окна.
Если ваши программы имеют небольшой объем и состоят только из одного файла, то лучше создавать не проект, а просто новый файл (File -> New -> Empty file). Связано это с тем, что если у вас несколько проектов, то Code::Blocks будет компилировать и запускать только активный проект. Определить какой проект у вас активен в текущий момент можно по состоянию окна Management, в котором показываются все открытые проекты и файлы. Если одновремено открыто несколько проектов, то название активного будет выделено полужирным шрифтом. Если окно отсутствует, то открыть его можно через меню View -> Manager.
Для переключения между проектами необходимо навести указатель мыши, на тот проект, который вы необходимо сделать активным и затем дважды кликнуть левой кнопкой мыши на названии проекта либо кликнуть один раз правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Activate project. В этом же меню доступны другие действия с проектом (в том числе добавление в проект новых файлов).
Частой ошибкой является редактирование файлов одного проекта, а запуск и тестирование другого проекта. Также если у вас открыт проект и просто отдельный файл программы, то Code::Blocks будет компилировать и запускать только активный проект. Поэтому в учебных целях, когда весь проект зачастую состоит из одного файла желательно создавать не проекты, а отдельные .cpp файлы.
Поддержка кириллицы в консоли
Проблема отображения кириллических символов в консоли Windows связана с тем, что консоль в этой операционной системе имеет собственную настройку кодовой страницы. Если Windows использует кодировку cp1251 (она же windows-1251), то консоль по умолчанию использует cp866 использовавшуюся в MS-DOS. Поэтому для корректного ввода и вывода кириллицы на консоль надо использовать пару функций SetConsoleCP() и SetConsoleOutputCP() соответственно. В качестве единственного параметра обеим функциям передается номер кодовой страницы – 1251. Для использования кодировки UTF-8 необходимо передать значение CP_UTF8.
Ниже показан пример программы, которая сначала просто выводит строку с кириллическими символами, а затем считывает строку и выводит ее обратно на экран.
Далее необходимо запустить программу, щёлкнуть левой кнопкой мыши по заголовку окна (где показывается путь к запущенному .exe файлу) и в контекстном меню выбрать пункт Свойства. Затем на вкладке Шрифт установить шрифт Lucida Console и выбрать удобный размер шрифта (там же можно настроить и другие параметры). После этого символы кириллицы будут корректно отображаться. Данную настройку достаточно выполнить один раз, для других программ и проектов будет достаточно установить кодовую страницу.
Следует заметить, что при использовании только функции setlocale(LC_ALL, «Russian») вывод осуществляется в cp1251, а ввод – в cp866. Это приводит к тому, что в памяти программы введённая с кириллическими символами строка хранится в другой кодировке. Наглядно это можно увидеть, если в показанном примере закомментировать вызов функции SetConsoleCP(). Строка которую выдаст программа будет отличаться от той, что ввели с клавиатуры.
Источник
10 настроек CodeBlocks, которые надо сделать сразу после установки
Сразу после установки CodeBlocks настройте его под себя. Среда CodeBlocks была сделана программистами для программистов. Она имеет множество настроек. Рассмотрим самые важные.
1. Установите ассоциации с файлом проектов
Выполните «Меню — Настройки — Среда»
Нажмите кнопку «Управление».
Нажмите сначала «Удалить все», чтобы не было лишних ассоциаций, а потом установите те из них, которые вам нужны. Если вы новичок, то рекомендую поставить галочку только в первой строчке «.cbp (project file). В этом случае вы будет уверены, что если зашли в проект, то всё будет работать.
Затем нажмите «Применить».
2. Увеличьте шрифт редактора
Шрифт редактора по умолчанию мелковат.
Нажмите на клавишу Ctrl и, не отпуская, покрутите колесо мыши. Так можно быстро выбрать комфортный шрифт.
3. Увеличьте шрифт выводимых сообщений
С помощью предыдущего приёма вы можете установить размер шрифта в окне «Журнал сборки»:
Но неудобство в том, что размер шрифта в этом журнале будет опять сброшен после следующей сборки.
Поэтому войдите в меню «Настройки — Среда — Вид»
И поставьте нужный размер шрифта логов сообщений.
4. Выберите стиль отступов
Так как язык Си — это язык свободной формы, то программист волен располагать текст программы как угодно. Компилятор всё равно ориентируется на точки с запятой в конце команды. Это породило целый ряд возможных стилей отступа. И CodeBlocks позволяет выбрать любой из самых популярных стилей.
Для этого войдите в меню «Настройки — Редактор — Средства форматирования»
Я рекомендую использовать Allman (ANSI), который наиболее удобен по целому ряду причин:
- Хорошо видно структуру программы.
- Легко искать парную фигурную скобку.
- Легко комментировать и убирать комментарии
Но, конечно же, если вы привыкли к другому стилю, то выбирайте его.
5. Создайте свой шаблон проекта
Когда вы создаете новый проект, то CodeBlocks предлагает целый ряд шаблонов. Вы легко можете добавить свой. Для этого начните с любого шаблона (или с чистого листа), и напишите вашу минимальную программу.
Потом войдите в меню «Файл — Сохранить проект как шаблон…»
Введите имя шаблона и нажмите Ok.
Для создания нового проекта по этому шаблону войдите в меню «Файл — Создать — Проект — Пользовательские шаблоны»
6. Установите код текста программы по умолчанию
Войдите в меню: «Настройки — Редактор — Код по умолчанию» и добавьте код, с которого вы обычно начинаете ваш файл. Обычно это комментарий к программе.
Вы можете задать свой текст для каждого вида файла. При создании нового файла этого типа в начале уже будет размещён этот код.
7. Настройте стиль подсветки синтаксиса
CodeBlocks уже имеет настройки подсветки синтаксиса для множества языков программирования. Вы можете как выбрать уже готовый стиль, так и создать новые цветовые схемы.
Для этого войдите в меню: «Настройки — Редактор — Подсветка синтаксиса»
Здесь вы можете настроить подсветку любых элементов текста.
8. Настройте сочетания клавиш
В среде CodeBlocks множество пунктов меню. Вы можете настроить сочетания клавиш для быстрого доступа к нужным пунктам.
Для этого войдите в меню: «Настройки — Редактор — Сочетания клавиш»
Здесь вы можете создать несколько профилей, и в каждом профиле определить свои клавиатурные сокращения для вызова пунктов меню.
9. Настройте сокращения для быстрого ввода кода
Кроме автодополнения кода в CodeBlocks есть дополнительно так называемые сокращения.
Автодополнение кода — это подсказка редактора, когда вы набираете часть слова, а редактор предлагает возможные варианты:
Сокращения — это наборы букв, которые нужно написать и нажать Ctrl+J. После этого в текст будут вставлены полный текст.
Для настройки сокращений войдите в меню: «Настройки — Редактор — Сокращения»
Вы здесь видите, что если набрать «ife» и нажать Ctrl+J, то в текст будет вставлена структура «if — else». Это позволяет ускорить ввод кода.
10. Добавьте сниппеты
Сниппеты — это фрагменты кода, которые можно вставлять в текст простым перетаскиванием мышкой.
Для включения окна сниппетов поставьте галочку в пункте меню «Вид — Фрагменты программы»
После этого щёлкните правой кнопкой мыши на строке «codesnippets»
Нажмите «Добавить фрагмент программы» и введите текст кода и заголовок.
Теперь если мышкой перетащить заголовок сниппета в текст программы, то будет вставлен фрагмент текста. Это позволяет быстро добавлять повторяющиеся тексты в программе и избегать ошибок при вводе.
Как видите, среда CodeBlocks может быть настроена для удобной и эффективной работы.
Похожие записи:
Комментарии 24
Спасибо за ценную информацию, Константин. Я — новичок в программировании на С, поэтому она мне очень кстати.
отличная информация и очень ценная. спасибо огромное, ВАМ!
с наступающим 2018 годом!
здоровья, удачи, любви и тепла в Вашем доме.
Спасибо.
С уважением,
Юрий Бородицкий
Здравствуйте! Это по поводу урока в вашем курсе Азбука программирования. У меня некорректно срабатывает программа. Когда делаю точку останова и нажимаю F8 устанавливается курсор на точку, как положено, но потом сразу открывается консоль, как при нажатии F9(при этом я F9 не нажимал). В консоли все выполняется правильно, как в вашем уроке. Но при нажатии любой клавиши консоль не закрывается, ее можно закрыть только, если полностью закрываешь программу codeBlock. Пожалуйста, помогите!
Скорее всего, у Вас не создан проект. Попробуйте создать проект по шаблону и выполнить отладку после этого.
Здравствуйте! В курсе азбука программирования не работает видео 4.2 Руссификация GTK. Так же и аудиофайл не скачивается. Исправьте, пожалуйста!
Проверил, всё работает. По техническим проблемам с получением курса пишите на zakaz@sheremetev.info
Здравствуйте! Подскажите, пожалуйста, что значит эта ошибка undefined reference to `gdk_color_parse’?
Это значит, что компилятор не может найти библиотеку. Её нужно указать явно.
не пойму, где у меня ошибка в коде
// 5.5 Текстовый редактор
#include
#define _LOCALE_TO_UTF8(str) g_locale_to_utf8((const char *)(str), -1, NULL, NULL, NULL)
#define _UTF8_TO_LOCALE(str) g_locale_from_utf8((const char *)(str), -1, NULL, NULL, NULL)
#define _UTF8(str) _LOCALE_TO_UTF8((str))
#define _LOCALE(str) _UTF8_TO_LOCALE((str))
#define _U(str) _UTF8((str))
#define _L(str) _LOCALE((str)) )
GtkWidget *textview1;
GtkTextBuffer *buffer1;
int ShowError()
<
GtkWidget *dialog;
dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
_U(» Не найден файл\n main.glade»));
// Меню «Создать»
G_MODULE_EXPORT void on_imagemenuitem1_activate (GtkButton *button, gpointer label)
<
gtk_text_buffer_set_text(buffer1, «», 0);
>
int ShowMainWindow()
<
GtkWidget *window1, *statusbar1;
GtkBuilder *builder;
builder = gtk_builder_new ();
if (gtk_builder_add_from_file (builder, «main.glade», NULL))
<
window1 = GTK_WIDGET(gtk_builder_get_object(builder, «window1»));
statusbar1 = GTK_WIDGET(gtk_builder_get_object(builder, «statusbar1»));
textview1 = GTK_WIDGET(gtk_builder_get_object(builder, «textview1»));
gtk_window_set_default_size (GTK_WINDOW (window1), 500, 300);
gtk_window_set_position(GTK_WINDOW(window1), GTK_WIN_POS_CENTER);
gtk_builder_connect_signals (builder, NULL);
g_signal_connect(G_OBJECT(window1), «destroy», G_CALLBACK(gtk_main_quit), NULL);
gtk_statusbar_push( GTK_STATUSBAR(statusbar1), 0, _U(«Строка состояния»));
buffer1 = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview1));
gtk_text_buffer_set_text (buffer1, _U («Пример текста.»), -1);
// Поменяли цвет текста
GdkColor color;
gdk_color_parse («green», &color);
gtk_widget_modify_text(textview1, GTK_STATE_NORMAL, &color);
int main (int argc, char *argv[])
<
gtk_init (&argc, &argv);
if (ShowMainWindow ())
<
gtk_main ();
return 0;
>
else
<
ShowError();
return 1;
>
>
этот файл посмотрите, первый не точно скопировал
// 5.5 Текстовый редактор
#include #include
#define _LOCALE_TO_UTF8(str) g_locale_to_utf8((const char *)(str), -1, NULL, NULL, NULL)
#define _UTF8_TO_LOCALE(str) g_locale_from_utf8((const char *)(str), -1, NULL, NULL, NULL)
#define _UTF8(str) _LOCALE_TO_UTF8((str))
#define _LOCALE(str) _UTF8_TO_LOCALE((str))
#define _U(str) _UTF8((str))
#define _L(str) _LOCALE((str)) )
GtkWidget *textview1;
GtkTextBuffer *buffer1;
int ShowError()
<
GtkWidget *dialog;
dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
_U(” Не найден файл\n main.glade”));
// Меню “Создать”
G_MODULE_EXPORT void on_imagemenuitem1_activate (GtkButton *button, gpointer label)
<
gtk_text_buffer_set_text(buffer1, “”, 0);
>
int ShowMainWindow()
<
GtkWidget *window1, *statusbar1;
GtkBuilder *builder;
builder = gtk_builder_new ();
if (gtk_builder_add_from_file (builder, “main.glade”, NULL))
<
window1 = GTK_WIDGET(gtk_builder_get_object(builder, “window1”));
statusbar1 = GTK_WIDGET(gtk_builder_get_object(builder, “statusbar1”));
textview1 = GTK_WIDGET(gtk_builder_get_object(builder, “textview1”));
gtk_window_set_default_size (GTK_WINDOW (window1), 500, 300);
gtk_window_set_position(GTK_WINDOW(window1), GTK_WIN_POS_CENTER);
gtk_builder_connect_signals (builder, NULL);
g_signal_connect(G_OBJECT(window1), “destroy”, G_CALLBACK(gtk_main_quit), NULL);
gtk_statusbar_push( GTK_STATUSBAR(statusbar1), 0, _U(“Строка состояния”));
buffer1 = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview1));
gtk_text_buffer_set_text (buffer1, _U (“Пример текста.”), -1);
// Поменяли цвет текста
GdkColor color;
gdk_color_parse (“green”, &color);
gtk_widget_modify_text(textview1, GTK_STATE_NORMAL, &color);
int main (int argc, char *argv[])
<
gtk_init (&argc, &argv);
if (ShowMainWindow ())
<
gtk_main ();
return 0;
>
else
<
ShowError();
return 1;
>
>
У меня тоже не работает этот вариант — компилятор ругается на gdk_color_parse
В Sources.zip\Sources\Sources\Урок 5.5\main.c по другому реализовано изменение цвета текста:
// Поменяли цвет фрагмента текста
tag = gtk_text_buffer_create_tag (buffer1, «blue_foreground»,
«foreground», «blue», NULL);
gtk_text_buffer_get_iter_at_offset (buffer1, &start, 7);
gtk_text_buffer_get_iter_at_offset (buffer1, &end, 13);
gtk_text_buffer_apply_tag (buffer1, tag, &start, &end);
И это работает
Если компилятор выдает ошибку, на некоторую функцию, то это значит, что он не может найти библиотеку. Укажите явно библиотеку, в которой эта функция реализована.
Источник