Code::Blocks — свободная кроссплатформенная среда разработки. Code::Blocks написана на С++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D (с ограничениями).
Code::Blocks разрабатывается для Windows, Linux и Mac OS X. Среду можно собрать из исходников практически под любую Unix-подобную систему, например FreeBSD[1]
wxWidgets | |
---|---|
Технологии | XML Resource |
Строители RAD/GUI | |
Библиотеки | wxSQLite3 |
Привязки | wxPython · wxPerl · wxBasic · wxHaskell · GLUEscript |
dic.academic.ru
Разработка приложений для встраиваемых устройств
Игорь Горбунов
Опубликовано 27.01.2010
https://www.ibm.com/developerworks/ru/library/?series_title_by=**auto**
Следите за выходом новых статей этой серии.
В первой части этой серии из четырех статей обсуждалось, как настроить популярную среду разработки 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».
Далее выполните следующие шаги.
Теперь, поскольку готового мастера для SDCC-проектов нет, создадим пустой проект. В меню выберите команду «File ->New->Project». Выберите «Empty Project» и нажмите кнопку «GO». Появится приветственное окно мастера нового проекта, нажмите кнопку «Next».
Откроется окно, где нужно в поля «Project title» и «Folder to create project in» ввести имя нового проекта и каталог, в котором будет размещаться каталог проекта. Введите необходимую информацию. Мастер создания проекта автоматически заполнит поле с именем файла проекта («Project filename»), которое не обязательно должно совпадать с названием проекта, и в поле «Resulting filename» предложит полное имя файла проекта с полным путем, причем этот путь тоже не обязательно должен совпадать с каталогом проекта. Заполнив все необходимое, нажмите кнопку «Next».
В следующем окне в поле «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»).
Для настройки параметров сборки проекта выберите в меню пункт «Project->Build Options». Для начала здесь можно настроить флаги компилятора, общие для всех целей сборки: тип процессора, модель памяти и т.д. В левой панели окна с параметрами сборки проекта среди целей сборки выберите название проекта (на рисунке 5 это «test»). Теперь на вкладке «Compiler Settings», а затем ниже, на вкладке «Compiler Flags», нужно выбрать флаг для используемого процессора. Если ничего не выбрать, то будет действовать флаг -mmcs51 для процессоров, совместимых с Intel MCS51. Еще сразу для всего проекта имеет смысл выбрать здесь модель памяти и параметры стека.
После этого выберите поочередно все цели сборки и укажите параметры компилятора, характерные только для них. Например, для цели сборки 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 для различных языков. Перевод на русский язык ведется здесь, и если загрузить оттуда файл codeblocks.mo и поместить его в каталог, например, /usr/share/codeblocks/locale/ru_RU/ (потребуются привилегии пользователя root), то интерфейс программы будет на русском языке, если в глобальных настройках («Settings->Environment->View») включить параметр «Internationalization (needs restart)» и справа в выпадающем списке выбрать «Russian». Это изменение вступит в силу после перезагрузки.
Теперь, когда проект настроен, добавим к нему первый файл. Для этого выберите в меню пункт «File->New->File…», в открывшемся окне выберите шаблон «C/C++ source» и нажмите кнопку «Go».
В следующем приветственном окне мастера создания файлов нажмите кнопку «Next», далее выберите язык программирования для файла – «C» и нажмите кнопку «Next». Откроется окно, в котором нужно ввести имя файла, например, main.c, и цели сборки, в которые он будет входить. Если нажать кнопку «All», то файл будет добавлен во все имеющиеся цели сборки.
Обратите внимание, что мастер создания требует указания имени файла с полным путем к нему, для этого нужно нажать на кнопку «…» справа от имени файла и выбрать каталог, где будет находится этот файл. По умолчанию это будет каталог проекта. После выбора каталога имя файла в поле «Filename with full path» будет показано с полным путем. Теперь можно нажать кнопку «Finish». Созданный файл тут же окажется открытым в редакторе. Впишем туда простейшую программу из третьей части этой серии статей:
#include <stdint.h> #include <stdbool.h> 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» появятся сообщения об ошибках и предупреждениях, если они есть.
После сборки проекта выходной файл с именем, указанным в поле «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.
Подпишите меня на уведомления к комментариям
www.ibm.com
CodeBlocks — это свободная кроссплатформенная среда, заполняющая нишу между монструальными и неповоротливыми «взрослыми» системами для больших проектов, типа Eclipse, Visual Studio, Net Beans, и убогими по функционалу, но шустрыми блокнотами типа Scintilla, причем преимущества и тех, и других складываются и позволяют использовать данную систему как для написания небольших проектов для встраиваемых приложений, так и для программирования приложений для РС под Windows, Linux и MacOs.
we.easyelectronics.ru
Среди возможностей среды хотелось бы особо выделить следующие:
Code::Blocks поддерживает множество компиляторов, в том числе целый ряд компиляторов для микропроцессоров:
Code::Blocks работает непосредственно в операционной системе, не требуя каких-либо интерпретаторов, отсюда легкость и быстрота этой IDE.
Кроме того, ее легко можно использовать совместно с GDB для отладки программ.
Code::Blocks ориентирована на разработку приложений на языках C и C++ и входит в состав всех современных популярных дистрибутивов Linux. Официальная версия 8.02 (на ноябрь 2009).
Современные популярные дистрибутивы Linux содержат пакеты AVR GCC в своих репозиториях. Теперь, когда установлены и Code::Blocks, и AVR GCC, можно приниматься за дело.
При первом же запуске Code::Blocks становится понятно, что интерфейс вцелом достаточно знаком по работе с другими средами разработки. Привычные пункты меню, панель просмотра проектов, дерево файлов, окно вывода компилятора и отладчика, кнопки на панели инструментов, см. рис.1.
Слева расположена панель «Management», три вкладки которой так или иначе имеют отношение к проекту. На первой вкладке, «Projects», приводится список открытых в рабочем пространстве проектов и файлов этих проектов. Файлы автоматически разделяются на три секции: «Sources» («исходные тексты»), «Headers» («заголовочные файлы» и «Others» («другие»). Двойное нажатие на имени файла открывает его в редакторе. На вкладке “Symbols” приводятся все функции, переменные, перечисления, директивы препроцессора и классы, существующие в проекте. Двойное нажатие на любом из этих элементов приведет к перемещению на него курсора в редакторе.
Окно сообщений «Logs & others», расположенное внизу, служит для вывода сообщений (в этом окне также несколько вкладок). На вкладке “Code::Blocks” выводятся сообщения среды, здесь можно получить информацию о возникновении в ней проблем. Вкладка “Build log” показывает команды, выполняемые в процессе сборки приложения. И последняя вкладка “Build messages” предназначена для вывода ошибок и предупреждений компилятора (в сообщения включаются имя файла и номер строки, где найдена ошибка).
Если еще ни одного проекта в рабочем пространстве не создано, то после запуска Code::Blocks в центральной панели активна только вкладка «Start here». Для создания нового проекта нужно выбрать команду «Create a new project» или пункт меню «File->New->Project». В любом случае откроется окно выбора шаблона будущего проекта, в котором мы указываем шаблон «AVR Project» и нажимаем кнопку «Go».
Появится приветственное окно мастера создания AVR-проекта. Нажмите кнопку «Next» и в открывшемся диалоговом окне введите название проекта и каталог, в котором он будет находиться. На основании этих данных программа автоматически предложит пользователю имя файла проекта с расширением *.cbp и каталог проекта, который будет создан. Далее следует нажать кнопку «Next».
В следующем окне предлагается выбрать конфигурации сборки, которые будут использоваться в проекте. По умолчанию активны обе конфигурации: Debug и Release. Компилятор «GNU AVR GCC Compiler» указан заранее. Также здесь можно изменить стандартные каталоги для скомпилированных файлов конфигураций.
В следующем окне мы указываем тип целевого процессора, выбрав его из выпадающего списка (позже это можно сделать в параметрах компиляции). Если в проекте используется внешняя память, стоит указать ее параметры. Далее следует задать значение глобальной переменной проекта F_CPU, указав тактовую частоту процессора в герцах. По умолчанию включено создание файла карты символов (.map) и hex-файлов, а также файла дизассемблерного листинга (.lss). Еще полезно включить параметр «Run avr-size after build» – тогда в конце журнала сборки проекта появится информация о том, сколько места будет занято в памяти программ и в оперативной памяти. По какой-то причине включение параметра создания листинга не оказывает никакого действия при создании проекта, и нужно вручную добавить соответствующую команду в «Pre/post build steps». Нажмите кнопку «Finish» (рисунок 2).
Проект создан, и в него автоматически добавлен первый файл – main.c.
Если проект создан с помощью шаблона AVR-проекта, то практически сразу можно перейти к программированию. Тем не менее, мы пройдемся по основным параметрам, чтобы убедиться, что все настроено правильно.
Прежде всего нужно убедиться в том, что в поле «Selected Compiler» выбран «GNU AVR GCC Compiler». Ниже, на вкладке «Compiler Flags», приводятся флаги компилятора. По умолчанию здесь уже включен полезный флаг «Enable all compiler warnings». Также стоит убедиться в том, что мы правильно выбрали тип процессора, для которого разрабатывается проект.
На вкладке «#defines» показано значение переменной F_CPU, если оно было задано при создании проекта.
На вкладке «Linker Options» в панели «Other linker options» видно, что компоновщику задан правильный параметр -mmcu, а в левой панели «Link libraries» нужно указать необходимые для проекта библиотеки, если они есть.
Перейдите к вкладке «Search directories». Ниже, на вкладке «Compiler», нужно вставить путь к заголовочным файлам, например, /usr/avr/include/. Для этого воспользуйтесь кнопкой «Добавить» и впишите правильный путь. Аналогично, на вкладке «Linker» указываем путь к библиотекам AVR GCC, например, /usr/avr/lib.
Вкладка «Pre/post build steps». В поле «Post-build steps» можно увидеть команды для запуска утилит avr-size, avr-objcopy, avr-objdump. Например, для получения листинга (поскольку включение параметра «Create extended listing file» в мастере создания проекта не производит нужного эффекта, по крайней мере в версии 8.02) добавляем такую команду:
avr-objdump -h -S $(TARGET_OUTPUT_FILE) > $(TARGET_OUTPUT_FILE).lss
Если теперь с параметров всего проекта переключиться на более конкретные цели сборки, например, Debug или Release, то можно внести некоторые изменения в параметры сборки. При этом обратите внимание на то, что стал доступен параметр «Policy». Его стандартное значение – «Append target options to project options», т.е. к общим параметрам проекта добавляются параметры для конкретной цели сборки. Есть и другие варианты объединения настроек разных уровней. Это позволяет гибко настраивать проект, не повторяя уже введенные общие параметры.
Стандартные настройки предусматривают автоматическое включение создания отладочной информации в цели Debug (параметр «-g») и оптимизацию размера полученной программы в цели Release (параметр «-Os»).
При желании можно свой настроенный проект сохранить как шаблон для будущих проектов. Для этого нужно выбрать команду меню «File->Save project as user template…» и ввести имя шаблона. В дальнейшем, при создании нового проекта, можно выбрать желаемый шаблон в категории «User templates» (рисунок 5). После этого потребуется задать пустой каталог, где будет создан новый проект, а затем отредактировать имя проекта.
Можно даже изменить существующий стандартный шаблон. Для этого в окне выбора шаблонов нажмите правую кнопку мыши на нужном шаблоне и воспользуйтесь опцией «Edit this script» в появившемся меню.
На вкладке «Compiler settings» вряд ли стоит что-либо менять: эти параметры станут стандартными для всех AVR-проектов. А вот на вкладках «Search directories->Compiler» и «Search directories->Linker» в моем случае уже стояли стандартные пути /usr/include и /usr/lib соответственно, что было неверно. Можно тут указать правильные пути (например, /usr/avr/include и /usr/avr/lib), а в настройках проекта удалить эти же пути, я же просто очистил эти поля кнопками «Clear», потому что параметры проекта к этому моменту уже были настроены.
На вкладке «Toolchain executables» проверяем, правильно ли указаны имена исполняемых файлов из комплекта AVR GCC и пути к ним. С помощью кнопки «autodetect» можно попробовать автоматически определить все эти значения. Если же что-то получилось не так (например, дистрибутив AVR GCC оказался с экзотическими именами и каталогами для размещения), то это как раз место, где все можно исправить вручную. На рисунке 7 в поле «Compiler’s installation directory» должно быть указано «/usr», если программы AVR GCC размещаются в каталоге /usr/avr/.
И последнее. На вкладке «Other settings» есть поле «Compiler logging». В нем можно задать режим журналирования процесса компиляции. Рекомендуется установить здесь значение «Full command line». Это позволит подробно проследить команды, используемые при сборке.
Теперь Code::Blocks готов к сборке проекта!
Всегда может возникнуть нестандартная ситуация, когда процесс сборки проекта нужно взять под свой полный контроль. Для этого в Code::Blocks предусмотрена возможность работы с собственным файлом сборки. Чтобы воспользоваться ею, необходимо создать пустой проект и сохранить его. Теперь нужно указать, что используется собственный makefile:
При использовании собственного makefile следует проверить, какие команды имеются на вкладке «Make Commands» в пункте меню «Project ->Build Options».
Во вновь созданном по AVR-шаблону проекте уже имеется файл main.c, который содержит заготовку модуля main для программы на С. Напишем новую программу на С++.
Воспользуйтесь опцией меню «File->New->File…» , выберите «C++ source» и нажмите кнопку «Go». Появится приветственное окно мастера создания нового исходного файла. Нажмите кнопку «Next» и в следующем окне выберите язык программирования для этого файла: С++. Далее укажите имя файла (например, sample.cpp) и полный путь к этому файлу, для чего нажмите кнопку «…» справа от поля с именем файла. Затем нужно указать, в каких целях сборки этот файл будет присутствовать, для чего можно просто нажать кнопку «All». Нажмите кнопку «Finish».
В созданный пустой файл впишите простейшую C++ программу:
int main(void) { const int some_size = 1000; while (true) { for (int i = 0; i < some_size; i++) int a = 3; // какое-нибудь действие } return 0; // никогда не дойдет сюда }
Сохраните файл, нажав клавиши Ctrl+S. Файл main.c нам не нужен, его можно удалить из проекта, нажав на его имени правую кнопку мыши и выбрав из появившегося меню команду «Remove file from project» (рисунок 8).
При вводе комментариев на русском языке я то и дело натыкался на досадный сбой в работе редактора: иногда он отказывается вводить кириллицу. По всей видимости, это связано с работой в Unicode. Временно решить проблему можно, введя лишний пробел, после этого текст нормально пишется. Затем этот пробел можно удалить.
Скомпилируем программу. Для этого нужно выбрать команду меню «Build->Build» или нажать знакомую многим комбинацию клавиш Ctrl+F9, также можно использовать кнопку с голубой шестеренкой в панели инструментов. Программа будет скомпилирована, а окно сообщений внизу экрана автоматически переключится на вкладку «Build messages», где будет сказано, что сборка закончена, получилось 0 ошибок и одно предупреждение: в строке 8 неиспользованная переменная «a».
Подход к отладке AVR-приложений в значительной степени зависит от используемого оборудования. При наличии устройства AVR JTAG ICE можно производить внутрисхемную отладку, подключаясь с его помощью к процессору, используя для этого утилиту avarice. Если такого устройства нет, воспользуйтесь имитатором процессора simulavr. К сожалению, этот проект уже несколько лет не развивается, но разработчики продолжают выпускать исправления.
Чтобы настроить отладку в Code::Blocks, нужно открыть свойства проекта «Project->Properties» и перейти на вкладку «Debugger». Здесь в поле «Select target» выбираем «Debug». Для этой конфигурации на вкладке «Remote connection» указываются параметры подключения avr-gdb к удаленной цели отладки:
Теперь на вкладке «Additional commands» в поле «After connection» нужно вписать следующие команды для отладчика:
Первая команда загрузит программу в цель отладки (микропроцессор или имитатор), а вторая вставит точку останова на функции main.
Перед отладкой нужно запустить в терминале simulavr:
simulavr -g -p 1212 -d atmega128
(для процессора atmega128), получится примерно такой вывод:
$ simulavr -g -p 1212 -d atmega128 Simulating a atmega128 device. ... main.c:415: MESSAGE: Simulating clock frequency of 8000000 Hz Waiting on port 1212 for gdb client to connect...
Если устройство подключено к последовательному порту /dev/ttyS0, запуск avarice можно произвести такой командой:
avarice -j /dev/ttyS0 -P atmega128 :1212
Теперь можно запускать отладку в Code::Blocks при помощи команды меню «Debug->Start». В окне, где запущен simulavr, добавятся примерно такие сообщения:
Connection opened by host 127.0.0.1, port -14999. decoder.c:737: MESSAGE: BREAK POINT: PC = 0x00000068: clock = 34
При этом в редакторе Code::Blocks будет загружен исходный текст, содержащий функцию main, и курсор отладчика остановится на этой функции, как это показано на рисунке 9. Теперь можно пользоваться удобными кнопками для управления отладчиком в панели инструментов, просматривать значения переменных и так далее. Более подробно об отладке можно узнать в документации на gdb, simulavr или avarice.
Итак, мы рассказали, как, затратив минимум усилий и времени, не обращаясь к документации и руководствам, быстро приступить к разработке AVR-приложений с использованием замечательной и быстро развивающейся среды разработки Code::Blocks. В настоящее время интерфейс среды переведен на множество языков и, возможно, скоро локализованные файлы войдут в состав основной ветви разработки.
В следующей статье нам предстоит познакомиться с использованием Eclipse для сборки приложений для широкого спектра микропроцессоров с небольшим размером оперативной памяти, для которых предназначен открытый компилятор SDCC.avr-prog.blogspot.com
Для Windows среда предоставляется в частности с компилятором MinGW. Здесь описывается установка и настройка именно такий версии. Если вы не уверены, проверьте имя скачиваемого файла: оно должно быть вида «codeblocks-XX.XX-mingw-setup.exe». Процесс установки не сложен: запустите исполняемый файл, а затем просто проследуйте инструкциям. Настройки по умолчанию подойдут в большинстве случаев. В принципе на курсах http://it-study.kiev.ua/ и тому подобных можно встретить данную среду для С++.
Пользователели Linux и Mac, скачивайте версию, соответствующую вашей платформе.
Поддержка нового стандарта C++11 может быть изначально отключена. Дабы включить её, перейдите Settings -> Compiler.
В открывшемся окне перейдите в раздел «Global compiler settings», далее во вкладке «Compiler settings» щёлкните на флажке «Have g++ follow the C++11 ISO C++ language standard [-std=c++11]».
Чтобы компилировать и запускать простые консольные приложения, такие как примеры в этих уроках, достаточно открыть файл в Code::Blocks и нажать F9.
Например, попробуйте:
File -> New -> Empty File
Введите туда следующий код:
#include <iostream>
int main()
{
auto x = R»(Hello world!)»;
std::cout << x;
}
Далее:
File -> Save file as…
И сохраните его под каким-нибудь именем с расширением .cpp. Далее, нажмите F9 и посмотрите на результат выполнения программы.
Если вы получили ошибку типа переменной x, то компилятор не понимает нового значения ключевого слова auto стандарта C++11. Пожалуйста, убедитесь, что у вас установлен актуальный компилятор и вы включили опции для использования стандарта C++11 как было указано выше.
Итак, теперь вы готовы к написанию программ в среде Code::Blocks.
Понравился пост? Подпишись на обновления блога по RSS, Email или twitter!wordpressinside.ru
Одна из самых удобных сред разработки среди всех, которые я использовал, это CodeBlocks. Кроме того, что это чудо имеет массу вкусных настроек и возможностей, оно еще и кросс-платформное, а значит выглядит (и работает) одинаково и в Windows и Linux, и еще эта IDE не так уж и много занимает свободного места и вообще является open-source проектом.
Настроек эта среда практически не требует (ну за исключением того случая, если нужно что-то особо специфическое), но тем не менее я немного расскажу о том, как из этого очень приятного продукта сделать еще более приятный продукт.
После установки CodeBlocks (что на Windows, что на Linux, хотя у меня она стоит и там и там), запускаем ее и первое, что увидим это окно выбора компилятора, в котором стоит выбрать пункт Digital Mars D Compiler, однако, если даже вы и не проигнорировали это окно при запуске, все равно рекомендую открыть пункт Compiler… в меню Settings и в появившемся всплывающем окне в выпадающем списке, озаглавленном как Selected compiler выбрать Digital Mars Compiler и нажать кнопку Set as default:
Кроме того, во вкладке Compiler flags (находится внутри вкладки Compiller settings) рекомендую поставить свои аргументы, которые будут передаваться каждый раз компилятору (я выставил флаги: optimize, inline expans function, compile release version. Возможно, потребуется кратковременно переключиться на соседнюю вкладку Other settings, а затем опять на вкладку Compiler flags).
После этих нехитрых манипуляций, можно закрыть это всплывшее окно и опять вернуться в меню Settings, чтобы открыть пункт Editor…:
В этом случае, нас интересует лишь некоторые пункты, которые способны потенциально облегчить жизнь: выставляем все флажки, кроме последнего в пункте Indent options; выставляем флажки Word wrap и Show line numbers в пункте Other options, а все остальное можно поставить по своему вкусу.
Ну, а теперь самая интересная настройка.
Берем отсюда файл lexer_d.xml и дальше, если вы работаете в Windows, то заменяем этим файлом, файл находящийся в:
C:\Program Files\CodeBlocks\share\CodeBlocks\lexers\
Ну, а если в Linux, то проводим замену этим файлом, файла находящегося тут (внимание ! делаем это под root):
/usr/share/codeblocks/lexers/
Что это дает ?
Это позволяет добавить в подсветку синтаксиса некоторые элементы, которые отсутствуют в стандартной подсветке синтаксиса: модификаторы shared, __gshared, string, immutable, @safe, @trusted, @system, @property, @disable, @nogc; элементы синтаксиса D nothrow, foreach_reverse и __traits.
Итого, получается примерно вот так:
lhs-blog.info
Содержание:
1. Пару слов о CodeBlocks.
2. Пару слов об SDL.
3. Ставим SDL.
Пару слов о CodeBlocks.
Давайте сначала зададимся вопросом, а почему собственно CodeBlocks? Дело в том, что эта интегрированная среда разработки (IDE) является кроссплатформенной. То есть другими словами есть ее версии как для Windows, так и для Linux и даже Mac Os. Да что там говорить, вот информация прямо с родного сайта http://www.codeblocks.org/ :
Code::Blocks supports:
Mac OS X 10.4+
Согласитесь, когда переходишь с одной операционной системы на другую, чуствуешь некоторое время дискомфорт. Просто элементарно не хватает того, к чему ты привык. Нужно время, чтобы адаптироваться к новой ситуации. И именно тут приходят на помощь кросплатформенные программы, которые ты уже знаешь по другим системам и прекрасно в них ориентируешья. Это уменьшает период адаптции и повышает как качество разработки, так и скорость. Ко всем другим приемуществам CodeBlocks еще добавлю и то, что он абсолютно бесплатен и все его исходные коды открыты.
Маленькое отступление.
Если вы не искушенный в делах программирования пользователь, то сразу хочу оговориться, что CodeBlocks всего лишь ИДЕ — интегрированная среда для разработки вашего продукта, то есть это все окошки, где вы вводите текст своей программы, где ведёте проект, добавляя или удаляя файлы, прилинковывая библиотеки, создавая хидеры и т.д. А программа, которая переводит текст вашей программы в выполняемый exe файл — называется компилятор. Компилятор это отдельная от ИДЕ программа, которая выполняет свою функцию из командной строки, а ИДЕ лишь графическая оболочка, для удобства набирания и отлаживания программ. В CodeBlocks есть много «вкусных» фишек таких как Plugin-ы, userTamplate-ы и другие. Так вот, как я уже сказал, для разработки программ нам еще нужен компилятор. Вот список компиляторов, которые поддерживает CodeBlocks:
Supported compilers :
Уверен, что можно настроить эту ИДЕ и на использование с другими компиляторами.
Так как ИДЕ у нас Free, то и компилятор тоже надо брать free-шный, то есть свободный. И, о чудо, можно скачать CodeBlocks уже в комплекте с компилятором minGW (Minimalist GNU for Windows). Качаем именно этот вариант! (codeblocks-8.02mingw-setup.exe 28 Feb 2008 19.3 MB) последний на момент написания статьи. Есть возможность скачать этот архив с двух сайтов Sourceforge или BerliOS, выбирайте сами. Установка программы тривиальна до безобразия, от вас не потребуется никаких навыков, кроме попадания и клацанья мышкой на нужной кнопке. Поставьте его в C:\Program Files\CodeBlocks , как он и предлагает по-умолчанию. При первом запуске выскочит окошко где надо будет указать компилятор с которым ИДЕ будет работать, если вы скачали архив с minGW, то напротив строки GNU GCC Compiler будет стоять слово Detect, в столбце Status. Жмыхаем дальше и попадаем в саму программу.
Давайте проверим ее работоспособность, выбираем Console Application жмем Create. CodeBlocks сам создал файл и обозвал его main.cpp. Заходим в него
И нажимаем F9. Так же (что равнозначно) можете нажать на иконку, которая находится в верхнем тулбаре, смотрите там идет шестеренка (скомпилить программу в exe-шник), треугольничик play(запустить exe-шник) и шестеренка с кнопкой play(что означает скомпилить, а потом запустить, по буржуйски Build & Run ) всплывающая подсказка подскажет вам, какую кнопку нажать.
Хеллоу Ворлд! Ого, все работает! Поздравляю!
Пару слов об SDL.
Теперь разберемся почему SDL (Simple DirectMedia Layer). Это движок для быстрого и качественного создания графических приложений, в том числе и игр. Его создатель, талантливый программист Sam Oscar Lantinga.
Он был главным программистом(Lead Programmer) в Loki Software(August 1998 — January 2002). Эта компания занималась тем, что портировала игры с одной платформы(Windows) на другую (Linux). Результатом их работы стала библиотека SDL. Которая уменьшала трудозатраты на такого рода перевод игр в разы. Кстати, они же и «родители» OpenAL библиотеки(кросплатформа для звука), которую потом подхватили такие киты как Creative Technology и Apple Computer. Теперь Сэм заслуженно работает в одной из самых известных гейм-девелоперских контор: Blizzard Entertainment.
Движок очень прост в освоении, есть активное комьюнити как на английском, так и на русском. А достаточно большое количество туторов, сделает ваш путь в освоении данного движка более легким. Стоит заметить, что идет постоянное развитие движка как самого ядра, так и дополнительных библиотек(модулей) уже насчитывается порядка 70 штук, отвечающих за работу со звуком, графикой, сетью, системами ввода и т.д. и т.п. К слову говоря, известный всем DosBox так же был написан с использованием SDL.
Как вы уже догадались SDL также работает на многих платформах(он собственно для этого и создавался). И мне кажется логичным объединение этих двух программ. То есть написание игр для различных платформ на кросплатформенном ИДЕ и кросплатформенном движке. И хочу заметить, что все три компонента, а именно ИДЕ(CodeBlocks) + компилятор(minGW) + движок(SDL) — бесплатны. Конечно, они бесплатны в рамках лицензии GNU.
Итак ИДЕ готово, и компилятор настроен, глаза дергаются, а руки делают 😉 Остался последний шаг — установить сам SDL.
Ставим SDL.
ШАГ 1. Что же приступим. Возможно, кто-то из вас не узнаете ничего нового, а кому-то это может пригодиться.
Первым делом скачиваем саму библиотеку SDL с офф. сайта. http://www.libsdl.org/download-1.2.php Смотрим в разделе «Development Libraries» будем ставить для Windows значит скачиваем «SDL-devel-1.2.13-mingw32.tar.gz» (это последний релиз на момент написания статьи). Надо ли говорить или повторять из вышесказанного, что нам нужна minGW версия? Думаю, это очевидно 😉 .
ШАГ 2. Распаковываем содержимое архива во временную папку ( к примеру в c:\sdl ) Я пользуюсь winRar-ом , но подойдет и другой архиватор, который сможет распаковать SDL-devel-1.2.13-mingw32.tar.gz. Ок.
Теперь нам надо открыть директорию, куда мы установили CodeBlocks и войти в папку include. У меня это C:\Program Files\CodeBlocks\include видите там много разных файлов, сюда нам надо переместить содержимое папки C:\sdl\include , то есть все хидеры(заголовочные файлы SDL). Другими словами из C:\sdl\include берем папку SDL и переписываем в C:\Program Files\CodeBlocks\include ВАЖНО! переписываем именно папку, смотрите:
Далее, содержимое папки c:\sdl\lib переписываем в папку C:\Program Files\CodeBlocks\lib . Так теперь, о том что делать с файлом SDL.dll(он находится в папке c:\sdl\bin), можно поступить двумя способами:
1. поместить этот файл в папку с вашим проектом. Но в этом случае в папку каждого вашего нового проекта надо будет класть этот файл, а иначе проект не запустится, не найдя SDL.dll рядом с собой.
2. можно поместить этот файл в C:\Program Files\CodeBlocks\bin или лучше в C:\Windows\system32 в этом случае, любой проект, скомпиленый для SDL вами или кем-то другим будет спокойно запускаться. Дело в том, что если запускаемое приложение нуждается в какой-то дополнительной библиотеке, то оно ищет эту библиотеку в текущей директории, а если его не находит там, то смотрит в C:\Windows\system32. Таким образом единожды поместив файл SDL.dll в эту папку, не будет никакой необходимости, как в первом случае, гонять этот файл по папкам. Я считаю это самым лучшим вариантом. Но если вы дадите поиграться в вашу новую игрушку другу, то не забывайте рядом с exe-шником положить библиотеку, ведь у него может и не быть этого файла в C:\Windows\system32 .
ШАГ 3. Запускаем CodeBlocks выбираем SDL Application. И у вас сформируется проект, уже с минимальным SDL приложением. Запускаем (F9) и получаем вот это:
Если получаем кучу предупреждений (warnings), значит неправильно переписали папку include. Если компилится, но рушится при запуске, тогда приложение не нашло файл SDL.dll . Если все получилось, то радуемся 😉 И можем уже начинать писать какую-нить простенькую игрулину.
Материалы:
dimanche.ucoz.ru