Описание codeblocks

2 Описание использования и настройки ИСР (IDE) Code::Blocks

Описание codeblocks

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ

Факультет информационных систем, технологий и автоматизации в строительстве Кафедра информационных систем и технологий управления в строительстве

КОНСПЕКТ ЛЕКЦИЙ

по курсу

«Технология программирования»

Б. С. Садовский

2

Конспект лекций предназначен для студентов специальности 230102, изучающих дисциплину «Технология программирования».

Содержит минимальный теоретический материал необходимый для освоения Си++, как объектно-ориентированного языка программирования, и выполнения лабораторных работ по курсу.

Лекции составлены на основе литературы представленной в конце конспекта и оригинальных материалов разработанных самим автором лекций.

3

Оглавление

1 Состав и выбор инструментальных средств разработки в Microsoft® Windows®………………5
2 Описание использования и настройки ИСР (IDE) Code::Blocks………………………………………..9
2.1Общие описание ИСР Code::Blocks…………………………………………………………………………..9
2.2Установка (для использование с компилятором GCC)………………………………………………..9
2.3Настройка………………………………………………………………………………………………………………..9
2.4Работа…………………………………………………………………………………………………………………….10
2.4.1 Создание проекта…………………………………………………………………………………………….10
2.4.2 Работа с проектом……………………………………………………………………………………………10
2.5Удаление………………………………………………………………………………………………………………..10
3 Проблема ввода/вывода в консоли Windows XP® …………………………………………………………..11
4 Язык Си………………………………………………………………………………………………………………………..17
4.1Операторы и операции……………………………………………………………………………………………20
4.2Директивы препроцессора………………………………………………………………………………………22
4.2.1 Подробнее про директиву препроцессора #define……………………………………………..22
4.3Типы данных…………………………………………………………………………………………………………23
4.4Массивы…………………………………………………………………………………………………………………24
4.4.1 Одномерный массив…………………………………………………………………………………………24
4.4.2 Двумерный массив…………………………………………………………………………………………..24
4.5Структуры………………………………………………………………………………………………………………25
4.6Объединения…………………………………………………………………………………………………………..26
4.7Перечисления…………………………………………………………………………………………………………27
4.8Указатели……………………………………………………………………………………………………………….28
4.8.1 Использование указателей при работе со структурой………………………………………..31
4.9Функции…………………………………………………………………………………………………………………32
4.9.1 Прототипы функции…………………………………………………………………………………………34
4.9.2 Функция не принимающая аргументов и не возвращающая значений (тип данных
void)…………………………………………………………………………………………………………………………34
4.9.3 Передача аргументов (параметров) в функцию по значению……………………………..35
4.9.4 Передача аргументов (параметров) в функцию через указатель…………………………35
4.9.5 Передача массива в функцию как параметра…………………………………………………….35
4.9.6 Аргументы функции main() и возвращаемое значение………………………………………36
5 Основы Си++, система ввода/вывода, типы данных, функции и другие возможности………38
5.1Основы Си++………………………………………………………………………………………………………….38
5.2Типы данных, ввод/вывод и функции в Си++…………………………………………………………..40
5.2.1 Потоки ввода/вывода……………………………………………………………………………………….40
5.2.2 Строки ……………………………………………………………………………………………………………41
5.2.3 Файловый ввод/вывод………………………………………………………………………………………42
5.2.4 Булевый (логический) тип данных……………………………………………………………………45
5.2.5 Новый синтаксис инициализации переменной………………………………………………….45
5.2.6 Встраиваемые (встроенные, подставляемые, inline) функции (методы)……………..45
5.2.7 Аргументы функции, определяемые по умолчанию………………………………………….47
5.2.8 Ссылки……………………………………………………………………………………………………………47
5.2.9 Передача аргумента в функцию через ссылку…………………………………………………..48
5.2.10 Константы……………………………………………………………………………………………………..49

Источник: https://studfile.net/preview/551105/

бЛог инженера

Описание codeblocks

В свете последних чудесных плясок с бубном вокруг Code Compose Studio и осознанием невозможности сборки и компиляции проектов, написанных для свободно-распространяемого под лицензией GNU GPL, компилятора «mspgcc», я был вынужден провести некоторые поиски альтернативной среды разработки. И тут, на 43oh.com внезапно материализовалась чудесная инструкция, как подружить замечательную среду разработки «Code::Blocks» — в отличие от других, предлагаемых Texas Instruments — более человеческую, свободно распространяемую и бесплатную, не имеющую ограничений по размеру кода.

(инструкция, переведённая, собранная из кусочков отсюда)

1. Скачиваем с официального сайта среду разработки Code::Blocks

2. Скачиваем набор компилятора mspgcc

3. Создаём папку «C:\hightec\» туда распаковываем архив с компилятором, в папку «msp430«;

4. Если ещё не установили, — устанавливаем «Code::Blocks», в первый запуск должен произойти автоматический поиск и обнаружение компилятора для MSP430;

5. Создаём новый проект: -> выбираем пустой проект -> жмём кнопку «go».

Задаём проекту имя, например «msp430-test». Само имя проекта здесь не важно, но оно будет использоваться в будущем для создания шаблона, поэтому выбираем на своё усмотрение. Желательно не использовать пробелы, это может привести к невозможности дальнейшей компиляции. В первый раз программа потребует задания папки для хранения проектов, — указываем ей путь и жмём далее;

7. Теперь необходимо выбрать наш компилятор, — выбираем из списка «GNU GCC compiler for MSP430» и жмём «finish». Сode::blocks выдаст около 3сообщений о невозможности установить кое-какие настройки для компилятора, — игнорируем эти сообщения;

8.  Настраиваем компилятор:

  • Выбираем меню settings -> compiler. В верхней части необходимо снова выбрать тип компилятора из списка, — выбираем «GNU GCC compiler for MSP430»;
  • Переходим на вкладку «Toolchain executables». Во внутренней вкладке «Program files» должен отобразиться автоматически обнаруженный компилятор, поля должны соответствовать следующему:

C Compiler: msp430-gcc.exeC++ compiler: msp430-g++.exeLinker for dynamic libs: msp430-gcc.exeLinker for static libs: msp430-gcc.exe

Make program: make.exe

  • -Переходим во вкладку «Additional paths» Добавляем путь к стандартным библиотекам C:\hightec\msp430\msp430\include
  • На вкладке «Compiler setting»  выбираем  «other options» Добавляем туда следующую строку: -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=msp430g2553
  • Переходим на вкладку «Linker settings«, в ней в окне «other linker options» добавляем строку -Os -Wl,-gc-sections,-u,main -mmcu=msp430g2553

9. Собираем проект. В панели меню выбираем «Project/Properties/Build targets«. Убираем галочки с поля «auto-generate filename extension«. В имени выходного файла меняем расширение с *.exe на *.elf.  Жмём «ok», сохраняемся и выходим из этого диалога;

 10. Создаём новый файл в проекте. В панели меню выбираем «File/new/file C/C++ file -> go -> next«, задаём имя файла и полный путь, выбираем все опции и жмём «Finish«;

Добавляем в файл следующее содержимое (для примера, можете добавить что-то своё):

#include «msp430g2553.h»

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // останавливаем Watchdog;

}

и сохраняем его.

11. Скомпилируем наш проект. В панели меню выбираем «build -> build workspace«. На выходе в окне логов должны получить что-то вроде такого сообщения:

————— Build: Debug in msp430-test (compiler: GNU GCC Compiler for MSP430)—————msp430-gcc.exe -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=msp430g2553 -c main.c -o obj\Debug\main.omain.c:3:6: warning: return type of 'main' is not 'int' [-Wmain]msp430-gcc.exe -o bin\Debug\msp430-test.exe obj\Debug\main.

o -Os -Wl,-gc-sections,-u,main -mmcu=msp430g2553Output size is 7.47 KBProcess terminated with status 0 (0 minutes, 5 seconds)0 errors, 1 warnings (0 minutes, 5 seconds)
12.

Сохраняем наш проект как шаблон, чтобы в дальнейшем использовать его для создания новых проектов, для этого в панели меню выбираем «file -> save project as template name the template» и жмём «Ok»;

Теперь мы можем создать новый проект из нашего шаблона:

«File -> New -> Project» выбираем наш шаблон, — готово! Остаётся научить наш компилятор дебажить и заливать прошивку в контроллер.

1. Для отображения информации о нашей прошивке добавим автоматический запуск после компиляции информационного файла msp430-size.exe из комплекта mspgcc.

Для этого выбираем в панели меню «Project/Build options…» переходим на вариант «Debug» во вкладку «Pre/Post build steps«, в поле «Post-build steps» добавляем строку c:\hightec\msp430\bin\msp430-size.

exe ${PROJECT_DIR}${TARGET_OUTPUT_FILE} (без кавычек, в одну строку) и сохраняем;

После сборки проекта будет выводиться информация о размере файла для загрузки в контроллер и другая информация, примерно такая:

————— Build: Debug in msp430-test (compiler: GNU GCC Compiler for MSP430)—————msp430-gcc.exe -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=msp430g2553 -c main.c -o obj\Debug\main.omain.c:3:6: warning: return type of 'main' is not 'int' [-Wmain]msp430-gcc.exe -o bin\Debug\msp430-test.exe obj\Debug\main.

o -Os -Wl,-gc-sections,-u,main -mmcu=msp430g2553Output size is 7.47 KBRunning target post-build stepsc:\hightec\msp430\bin\msp430-size.exe C:\CodeBlocks-Projects\msp430-test\bin\Debug\msp430-test.exetext data bss dec hex filename112 0 2 114 72 C:\CodeBlocks-Projects\msp430-test\bin\Debug\msp430-test.

exeProcess terminated with status 0 (0 minutes, 11 seconds)0 errors, 1 warnings (0 minutes, 11 seconds)
 

2. Создадим макросы для заливки прошивки в контроллер, для этого создадим своё меню в панели «Tools«:

Переходим в меню «Tools/ configure tools» и добавляем новое меню, например — «Upload«. Указываем в качестве параметров:

Name — «Upload»

Executable — C:\hightec\msp430\mspdebug\mspdebug

Parameters — tilib -d USB —force-reset «prog ${PROJECT_DIR}${TARGET_OUTPUT_FILE}»

Working directory — ${PROJECT_DIR}${TARGET_OUTPUT_DIR}

Параметры внизу можно настроить как удобнее, у меня установлен чекбокс на первом пункте, — это позволит не закрыться окну прошивальщика после заливки.

Теперь чтобы загрузить наш проект в контроллер, — нужно выполнить следующие действия:

1. Написать проект;

2. Собрать (Build) наш проект для launchpad, убедиться в отсутствии ошибок в выводе компилятора

3. Загрузить получившийся файл в контроллер (Tools/Upload)

Готово

Загружаем в контроллер наш тестовый проект: «Tools/Upload«:

(тут я использовал пример с миганием светодиода, используя прерывания)

В результате получаем:

файлы проекта

оригинальный источник

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

Источник: https://shelezyakin.ru/usage-environment-development-codeblocks-dl/

Часть 4. Применение Code::Blocks для разработки SDCC-приложений

Описание codeblocks

Разработка приложений для встраиваемых устройств

Игорь Горбунов
27.01.2010 Следите за выходом новых статей этой серии.

Следите за выходом новых статей этой серии.

В первой части этой серии из четырех статей обсуждалось, как настроить популярную среду разработки Eclipse для сборки AVR-приложений. Во второй части мы рассмотрели, как эту задачу можно выполнить с помощью другой, более легкой среды разработки – Code::Blocks.

После этого мы обратили внимание на другое семейство приложений, которые собираются с использованием компилятора SDCC, и в третьей части познакомились с созданием и настройкой SDCC-приложений в Eclipse.

В этой статье будет показано, как работать с SDCC-приложениями в среде Code::Blocks.

Интегрированную среду разработки Code::Blocks мы уже рассматривали во второй части этой серии статей. Там приводились основные сведения о возможностях Code::Blocks, а также давались основные навыки работы с ней.

Компилятор Small Device C Compiler (SDCC) вкратце описывался в третьей части. Настоятельно рекомендуется ознакомиться с руководством пользователя, которое входит в состав устанавливаемых в системе пакетов, его можно загрузить с сайта SDCC. Список поддерживаемых архитектур легко узнать простой командой:

$ sdcc-sdcc -v SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.9.0 #5416 (Jul 20 2009) (UNIX)

Предполагается, что у вас в системе и Code::Blocks, и SDCC установлены и работоспособны. Если это так, то можно переходить к созданию и настройке проекта.

Создание проекта

Запустите Code::Blocks. Вначале нужно настроить глобальные настройки компилятора; для этого выберите пункт меню «Settings->Compiler and Debugger».

Рисунок 1. Глобальные настройки компилятора

Кликните, чтобы увидеть увеличенное изображение

Далее выполните следующие шаги.

  1. В самом верхнем поле «Selected Compiler» выберите из выпадающего списка «SDCC Compiler». Если теперь нажать кнопку «Set as default», то для всех новых проектов именно SDCC будет стандартным компилятором. Это удобно только в том случае, когда Code::Blocks используется лишь для разработки SDCC-приложений.
  2. Перейдите на вкладку «Toolchain executables». Здесь нужно исправить каталог, где установлен SDCC, а также имена утилит из его комплекта, если они неправильно указаны. По умолчанию каталогом установки считается /usr/local/bin. В разных дистрибутивах могут быть разные каталоги установки исполняемых файлов SDCC. Например, в Fedora они устанавливаются в каталог /usr/bin, поэтому в поле «Compiler's installation directory» правильно будет записать «/usr».

    Ниже, на вкладке «Program Files», нужно проверить имена исполняемых файлов SDCC: компилятора, компоновщика и т.д. По умолчанию используется имя sdcc для компилятора и компоновщика.

    Правильные имена файлов можно узнать, выполнив команду «ls /usr/bin/sdcc*», если файлы установлены в /usr/bin. В некоторых дистрибутивах эти имена из каких-либо соображений могут быть другими.

    Например, в Fedora к стандартным именам файлов добавляется префикс sdcc, поэтому в полях «C compiler» и «Linker for dynamic libs» должно быть вписано «sdcc-sdcc».

  3. Перейдите на вкладку «Search Directories». Проверьте, какие пути поиска указаны здесь на вкладках «Compiler» и «Linker». В моем случае (Code::Blocks версии 8.02, сборка от 28.02.2009) вообще никаких путей там не оказалось. И опять, указываемые здесь пути специфичны для каждого дистрибутива Linux. В Fedora заголовочные файлы находятся в каталоге /usr/share/sdcc/include (для вкладки «Compiler»), а библиотеки – в каталоге /usr/share/sdcc/lib (для вкладки «Linker»).
  4. На самой правой вкладке «Other settings» есть поле «Compiler logging». В нем можно задать режим журналирования процесса компиляции. Рекомендуется установить здесь значение «Full command line». Это позволит подробно проследить команды, используемые при сборке.

Теперь, поскольку готового мастера для SDCC-проектов нет, создадим пустой проект. В меню выберите команду «File ->New->Project». Выберите «Empty Project» и нажмите кнопку «GO». Появится приветственное окно мастера нового проекта, нажмите кнопку «Next».

Рисунок 2. Создание пустого проекта

Кликните, чтобы увидеть увеличенное изображение

Откроется окно, где нужно в поля «Project title» и «Folder to create project in» ввести имя нового проекта и каталог, в котором будет размещаться каталог проекта. Введите необходимую информацию.

Мастер создания проекта автоматически заполнит поле с именем файла проекта («Project filename»), которое не обязательно должно совпадать с названием проекта, и в поле «Resulting filename» предложит полное имя файла проекта с полным путем, причем этот путь тоже не обязательно должен совпадать с каталогом проекта. Заполнив все необходимое, нажмите кнопку «Next».

Рисунок 3. Введение имени проекта

Кликните, чтобы увидеть увеличенное изображение

В следующем окне в поле «Compiler» выберите из выпадающего списка «SDCC Compiler». Ниже будут предложены стандартные каталоги для целей сборки Debug и Release. Закончив редактирование, нажмите кнопку «Finish».

После этого будет последовательно выдан ряд сообщений о том, что Code::Blocks не знает, как настроить предупреждающие флаги для этого компилятора, как указать флаги отладки и т.д.

Нажимайте кнопки «Ok» и игнорируйте эти сообщения.

Настройка проекта

Итак, у нас создан пустой проект. Нужно настроить его так, чтобы он мог работать с SDCC. Для этого выберите пункт меню «Project->Properties», перейдите на вкладку «Build targets».

В панели «Select build target options» в поле «Type» по умолчанию тип приложения указан как «Console application». Не вижу, почему этот тип может не подойти для SDCC-приложения, но в ряде руководств рекомендуется изменить его на «Native».

Это нужно сделать для всех целей сборки (цели выбираются слева в панели «Build targets»).

Рисунок 4. Свойства проекта

Кликните, чтобы увидеть увеличенное изображение

Для настройки параметров сборки проекта выберите в меню пункт «Project->Build Options». Для начала здесь можно настроить флаги компилятора, общие для всех целей сборки: тип процессора, модель памяти и т.д.

В левой панели окна с параметрами сборки проекта среди целей сборки выберите название проекта (на рисунке 5 это «test»). Теперь на вкладке «Compiler Settings», а затем ниже, на вкладке «Compiler Flags», нужно выбрать флаг для используемого процессора.

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

Рисунок 5. Параметры целей сборки

Кликните, чтобы увидеть увеличенное изображение

После этого выберите поочередно все цели сборки и укажите параметры компилятора, характерные только для них. Например, для цели сборки Debug следует выбрать флаг «Produce debugging symbols [—debug]», а для цели Release может быть полезным флаг «Optimize generated code (for size) [—opt-code-size]».

Обратите внимание, что когда вы выбираете конкретные цели сборки, то становится активным поле «Policy» сразу под вкладкой «Compiler Settings». Здесь можно выбрать правило, в соответствии с которым производится сочетание параметров, выбранных для цели сборки, с параметрами всего проекта.

Стандартное правило – «Append target options to project options» (параметры цели сборки добавляются к параметрам проекта»). С таким правилом здесь нет необходимости в каждой цели вновь выбирать те флаги, которые были настроены для всего проекта.

При необходимости можно выбрать и другие правила.

Нажмите кнопку «Ok», чтобы сохранить настройки.

Локализация Code::Blocks

В настоящее время ведутся работы по локализации интерфейса Code::Blocks для различных языков. Перевод на русский язык ведется здесь, и если загрузить оттуда файл codeblocks.

mo и поместить его в каталог, например, /usr/share/codeblocks/locale/ru_RU/ (потребуются привилегии пользователя root), то интерфейс программы будет на русском языке, если в глобальных настройках («Settings->Environment->View») включить параметр «Internationalization (needs restart)» и справа в выпадающем списке выбрать «Russian». Это изменение вступит в силу после перезагрузки.

Пробная программа

Теперь, когда проект настроен, добавим к нему первый файл. Для этого выберите в меню пункт «File->New->File…», в открывшемся окне выберите шаблон «C/C++ source» и нажмите кнопку «Go».

Рисунок 6. Создание нового С-файла

Кликните, чтобы увидеть увеличенное изображение

В следующем приветственном окне мастера создания файлов нажмите кнопку «Next», далее выберите язык программирования для файла – «C» и нажмите кнопку «Next». Откроется окно, в котором нужно ввести имя файла, например, main.c, и цели сборки, в которые он будет входить. Если нажать кнопку «All», то файл будет добавлен во все имеющиеся цели сборки.

Рисунок 7. Введение имени файла

Кликните, чтобы увидеть увеличенное изображение

Обратите внимание, что мастер создания требует указания имени файла с полным путем к нему, для этого нужно нажать на кнопку «…» справа от имени файла и выбрать каталог, где будет находится этот файл. По умолчанию это будет каталог проекта.

После выбора каталога имя файла в поле «Filename with full path» будет показано с полным путем. Теперь можно нажать кнопку «Finish». Созданный файл тут же окажется открытым в редакторе.

Впишем туда простейшую программу из третьей части этой серии статей:

#include #include void main(){ while(true) { int16_t some_size = 1000, i, a; while (true) { for (i = 0; i < some_size; i++) a = i + 3; // какое-нибудь действие }

Сохраните этот файл нажатием кнопки с дискетой в панели инструментов, командой меню «File->Save» или сочетанием клавиш Ctrl+S.

Затем выберите команду меню «Build->Build» или нажмите кнопку с шестеренкой в панели инструментов, или просто нажмите сочетание клавиш «Ctrl-F9».

Внизу, в окне «Logs & others», журнал компиляции будет выведен на вкладке «Build log», а на вкладке «Build messages» появятся сообщения об ошибках и предупреждениях, если они есть.

Рисунок 8. Вид на собранный проект

Кликните, чтобы увидеть увеличенное изображение

После сборки проекта выходной файл с именем, указанным в поле «Output filename» в настройках («Build->Properties», вкладка «Build targets», см. рисунок 4), помещается в каталог bin/Debug (или другой, в зависимости от того, как вы настроили цели сборки).

Он по умолчанию создается в формате Intel Hex и его можно загружать в процессор с помощью программатора. Кроме того, там компилятором создается файл *.mem, представляющий карту использования памяти. В каталоге obj/Debug (в зависимости от цели сборки) находятся файлы *.asm, *.lst, *.

rst, представляющие собой различные варианты ассемблерных листингов программы, созданных компилятором.

Аналогичный подход можно попытаться использовать и в случае необходимости работы с другими компиляторами для встраиваемых решений, например GNU ARM GCC. А в этой короткой статье описывается, как можно настроить Code::Blocks для разработки ARM-GCC-приложений, используя собственный Makefile.

Заключение

В этой заключительной части серии статей вы познакомились с тем, как с минимальными усилиями создать и настроить проект для разработки приложений с помощью компилятора SDCC в среде Code::Blocks.

Ресурсы для скачивания

  • Официальный сайт (EN) среды разработки Code::Blocks. Здесь можно найти разнообразную документацию, а также очень полезный форум.
  • Очень оживленный и насыщенный руководствами и справочниками немецкоязычный форум по многим вопросам, относящимся к встраиваемым устройствам, а также его англоязычный вариант (EN)
  • Русскоязычный форум разработчиков электроники, охватывающий, в том числе, и вопросы разработки приложений для встраиваемых устройств.
  • Сайт проекта SDCC (EN): здесь можно узнать новости проекта, найти многочисленную документацию, форум и ссылки на разнообразные ресурсы, относящиеся к компилятору SDCC.
  • http://sdccokr.dl9sec.de/resources.htm (EN): здесь есть множество ресурсов, относящихся к разработке приложений с использованием SDCC.

Источник: https://www.ibm.com/developerworks/ru/library/l-codeblocks_and_sdcc/

Code::Blocks

Описание codeblocks

На страницах «Компьютерныхвестей» я не раз рассказывал вам,уважаемые читатели, о разных средахразработки — удобных, красивых,кросс-платформенных. Потому что,как ни крути, среда разработки -вещь достаточно важная как длясамого программиста, так и для егоработодателя.

Почему она важна дляпрограммиста, думаю, объяснять ненужно: он пишет в ней код, и чемудобнее будет его писать, тем легчебудет работать.

Однако грамотныеруководители понимают, что такназываемое удобство средыразработки — это, прежде всего,производительность трудаработника, пишущего иотлаживающего программы. Поэтомулюбой грамотный руководитель и безменя знает, что на интегрированнойсреде разработки (IDE) экономить нестоит.

Однако желание сэкономитьвсё же иногда появляется. Правда,делается это тоже довольно мудро:покупается самая дешёвая версиясреды разработки, аустанавливается более дорогая и,соответственно, болеефункциональная.

Однако не обязательно экономитьтаким способом, который, в общем-то,нельзя назвать совсем уж законным.Можно вместо такого мошенничествас коммерческим программнымобеспечением пользоватьсябесплатными программами.

Стойте, ненадо плеваться! Я понимаю, всё, чтоне похоже на любимые Microsoft Visual Studioи/или Delphi, вызывает поначалу умногих раздражение даже припростом упоминании.

И тому естьлогичное объяснение: большая частьбесплатного софта дляпрограммистов (особенно этокасается сред разработки) даже припервом запуске вызывает одно издвух не самых лучших человеческихчувств: либо омерзение, либо скуку.Иногда — глубокую и искреннююжалость.

Однако, заметьте, большаячасть — это далеко не весь софт! Какправило, самые известные из freeware иopen-source продуктов действительнозаслуживают внимания иразработчиков, и их руководства.Достаточно вспомнить такиепроекты, как Eclipse или Dev-C++. Да имногие другие тоже. На самом деле незря же к движению open-sourceприсоединяются всё новыеучастники.

Всё больше продуктов,бывших когда-то коммерческими,набирают обороты как свободныепроекты. Хотя и те продукты, которыеи начинались как open-source, тоже черезнекоторое время становятся вполнеконкурентоспособными относительнокоммерческих аналогов. Хотя, стоитотметить, что не всегда терминopen-source синонимичен термину»свободная программа». Хотя,как правило, open-source программыраспространяются под лицензиями,позволяющими пользоваться ими безкаких бы то ни было отчисленийразработчикам.

Среда разработки, с которой ясейчас хочу вас познакомить, какраз из тех замечательных продуктов,которые вызывают интерес, а местамидаже и восхищение. Называется этапрограмма, как видно из заголовкастатьи, Code::Blocks, а в интернете еёможно найти по адресу www.codeblocks.org.Предназначена она для разработкипрограмм с использованием C/C++.

Размер закачки зависит от того,будете ли вы скачивать среду вместес компилятором или же без него.Также зависит это ещё и от того,будете ли вы скачивать исходныетексты IDE (а они имеются в наличии,поскольку распространяется Code::Blocksпод Генеральной общественнойлицензией GNU), либо ужескомпилированные файлы.

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

Итак, среда установлена. Припервом запуске глаз радует красивовыполненный экран приветствия,который обычно не характерен длясвободных программных продуктов.Уже по нему можно судить осерьёзности подхода авторов Code::Blocksк разработке своего детища.

Что готова среда разработкипредложить программисту, которыйеё использует? Не так уж и мало,особенно если сравнить снекоторыми другими бесплатными IDE.Во-первых, кросс-платформенность.Однако она ограничена двумяплатформами: Windows и Linux.

Не оченьмного, однако это основныеоперационные системы на рынке.Впрочем, поддержка некоторыхдругих (например, Mac OS X) всё равно непомешала бы.

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

Во-вторых, каждый можетподключить к среде тот компилятор,который ему/ей больше нравится. Илитот, который привычнееиспользовать. А компиляторы средаразработки поддерживает такие: GCC(MinGW для Windows), Microsoft Visual C++ Compiler, DigitalMars, Borland C++ (версии 5.5), Open Watcom и Sun DCC.

Вслучае если вы скачали среду вместес компилятором, то им будет, конечноже, GCC. Среда сама передаёткомпилятору все ключи, необходимыедля его работы с заданными опциями.

Причём компиляция можетосуществляться как напрямую, так ичерез make-файлы, которые Code::Blocksтакже умеет формировать совершенносамостоятельно.

В-третьих, в Code::Blocks имеетсяудобный и многофункциональныйредактор кода, поддерживающийподсветку синтаксиса и фолдинг(сворачивание) блоков кода. Причёмработать среда умеет не только стекстами на C/C++, но и с XML-файлами.

Слева в окне программы находитсяпроводник по классам,использующимся в её тексте, а такжесписок всех используемыхпеременных, констант, классов ипространств имён. Там же имеетсядерево ресурсов и списокпросматриваемых во время отладкипеременных. Что приятно, так это то,что каждый открытый файл в средеимеет свою вкладку.

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

В-четвёртых, среда Code::Blocksподдерживает подключаемые модули,то есть плагины. Это действительнополезная возможность и с её помощьюразработчики реализовалинесколько удобных дляпрограммиста, использующегоCode::Blocks, вещей.

И главная из этихвещей — это, конечно, подсказки,возникающие на экране по ходунабора кода и содержащие спискиметодов классов и параметровметодов или функций. Реализованаэта возможность, на мой взгляд, нехуже, чем во многих коммерческихсредах разработки.

Среди другихплагинов, которыми можетпохвастаться сайт проекта Code::Blocks,стоит, как мне кажется, вспомнитьмастер форматирования кода, мастерсоздания новых классов, подсчётстатистики по исходному кодупроекта и мастер внедрения XP Manifest вресурсы проекта.

Если вы, как и я,скачали самую большую версиюCode::Blocks (ту, которая с компилятором),то у вас эти все плагины уже есть.Естественно, каждый желающий можетсоздать собственный плагин к средеразработки. Для этого нужно будетскачать специальный SDK (Software DevelopmentKit — набор для разработкипрограммного обеспечения) с сайтапроекта.

В качестве отладчика средаиспользует GNU Debugger. Работа с нимпрактически не отличается отработы с отладчиками сред Microsoft иBorland. Также в среде имеетсяподдержка списка тех вещей, которыеразработчик должен сделать вприложении (to-do list).

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

Они, как и в Microsoft Visual Studio,отделены от настроек рабочегопространства (workspace), и, что приятно,и проекты, и workspace'ы среда умеетимпортировать из формата Visual Studio.Проекты, кстати, можноимпортировать и из формата Dev-C++.

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

Есть у Code::Blocks ещё одна важнаяособенность, выделяющая его средимногих других сред разработки. Этасреда имеет тесную интеграцию сбиблиотекой wxWidgets, предназначеннойдля создания графическогопользовательского интерфейса(когда-то я уже писал о ней в»Компьютерных вестях»).

Библиотека эта имеет множестводостоинств, и потому разработчикиCode::Blocks сделали прекрасныйстратегический ход, ориентировавсвой продукт на работу с этойзамечательной библиотекой. Правда,реализовано это, опять-таки, спомощью плагина, которыйназывается wxSmith, но это уже не самыезначительные детали.

Плагинпозволяет производить разработкуинтерфейса приложения в визуальномрежиме, что не может не быть оцененоразработчиками. Особенно теми, ктопробовал создавать интерфейс вневизуальном режиме. Режимредактирования похож нааналогичный из Microsoft Visual C++ или BorlandC++ Builder. Похожий дизайнер, похожийредактор свойств объектов.

Учитывая кросс-платформенностьwxWidgets и Code::Blocks, это совершеннозамечательная возможность.

Что ж, вот такая хорошая иполезная среда разработки по имениCode::Blocks. Возможно, многие скажут, чтоей далеко до Visual Studio или Borland DeveloperStudio, и будут, конечно, правы.

В нейнет, как в современных версиях этихкоммерческих сред, возможностиразработки приложений на многихязыках и разработки для платформы.NET. Однако эта среда намноголегковеснее и компактнее, чеммонстры от Microsoft и Borland.

Кроме того,для создания кросс-платформенныхприложений для Windows и Linux связкаCode::Blocks и wxWidgets представляется едвали не одним из лучших среди всехвозможных вариантов. Поэтому нестоит сразу отворачиваться отсвободного программногообеспечения.

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

Вадим СТАНКЕВИЧ

Источник: https://www.kv.by/archive/index2007041104.htm

Booksm
Добавить комментарий