четверг, 26 ноября 2009 г.

Руководство по созданию глянцевых кнопок в Inkscape

Давно хотелось научиться делать симпатичные кнопки для веб-страниц. И совсем недавно нашла статью с довольно подробным руководством, как это можно сделать в свободном графическом редакторе  Inkscape, чему несказанно была рада. Кстати, в этом редакторе рисовать кнопки намного проще, чем в Photoshop. Ознакомиться с этой статьей можно здесь. А тут я приведу её вольный перевод.


Простая 3D-кнопка   


Начнём с простейшей кнопки, которая будет многократно использоваться позже для других стилей кнопок.
Используя инструмент Прямоугольник (Rectangle Tool), нарисуем прямоугольник и заполним его любым приятным цветом. Скруглим углы (радиусом примерно 16px):


Дублируем прямоугольник (Ctrl+D), заполним копию градиентом от частично прозрачного чёрного до полностью прозрачного чёрного. Поместим копию на оригинал.


Снова дублируем прямоугольник, сдвигаем его немного вправо и вниз, сделаем его чёрным, применим небольшое размытие (Объект → Заливка и обводка → Размывание) и передвинем его вниз стека (Объекты → Опустить на задний план либо кнопкой на панели инструментов). Тем самым получим небольшую тень под кнопкой. Это заготовка кнопки



С помощью инструмента Текст (Text Tool) сделаем надпись на кнопке. Выберем шрифт, размер и цвет. Копируем текст, делаем копию чёрного цвета, приеменим фильтр размытия, сдвинем его немного вправо и вниз. Передвиним его вниз под исходную надпись, чтобы она выглядела объёмно, как 3D-текст:



Можно делать множество различных кнопок, только изменив цвет исходного прямоугольника:
Аква-кнопки

Начнем с основного прямоугольника как в простой 3D-кнопке, но радиус скругления углов сделаем больше. Дублируем и заполняем копию градиентом от частично прозрачного чёрного до полностью прозрачного чёрного, но в отличии от предыдущего примера ориентированный сверху вниз. Для создания освещенной области снова дублируем прямоугольник, заполняем его белым цветом, уменьшаем его размер по высоте и помещаем в верхней части кнопки:


Меняем белую область на градиент от частично прозрачного белого до полностью прозрачного белого. Сделаем еще одну освещенную область, закрасим её сплошным белым. Сделаем её ниже по высоте, поместим в нижнюю часть кнопки и применим размытие (Объект → Заливка и обводка → Размывание):

Сделаем тень у кнопки, а также небольшое размытие верхнего блика:


Можно добавить надпись с тенью:


Кристальная кнопка

Применим эффект кристалла или стекла к простой 3D-кнопке.

Начнём с простой кнопки и изменим вертикально ориентированный градиент: Дублируем базовый прямоугольник и заполним его белым цветом. Используя Безье линии (Bézier Lines), нарисуем полигон через верхнюю левую часть и пересечём её с белым прямоугольником (для этого выделим белый прямоугольник и кривую Безье, зажав Shift; в меню выберем Контур → Пересечение).

Приведем в порядок нижнюю грань кривой освещённой области и применим градиент от частично прозрачного белого до полностью прозрачного белого:

Тень снизу

Используем Аква-кнопку без тени. Дублируем закруглённый прямоугольник, заполним его чёрным цветом, изменим высоту и сдвинем в нижнюю часть кнопки. Применим размытие, изменим прозрачность и опустим его вниз под кнопку:


Отражение
Снова начнем с Аква-кнопки без тени. Дублируем цветной закруглённый прямоугольник и сдвинем его вниз под кнопку, он будет отражением:

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

Различные состояния кнопок

Для веб-сайта могут быть нужны различные состояния кнопок: активная, неактивная или нажатая.
Начнём с финальной версии Аква-кнопки. Изменим цвет заднего фона (основной цвет кнопки). Выберем тень надписи и трансформируем её в свечение, заменив чёрный цвет на белый и увеличив размытость:

Ниже представлено 3 состояния кнопок: активная, выделенная и неактивная. Неактивная кнопка была получена изменением цвета заднего фона и цвета надписи на серый:


Надеюсь, теперь вы сможете создавать свои кнопки без особых хлопот :)

Читать дальше......

вторник, 21 июля 2009 г.

Сборка OGRE из исходников под Windows, с помощью MinGW и среды Code::Blocks.

Ogre – это добротный движок рендеринга с открытыми исходниками. Я уже довольно давно посматриваю за его развитием (как и за другими интересными Open Source проектами), периодически собирая его (и вещи на его основе) из исходников, чтобы поиграться с демками. :) Но, к сожалению, до своих проектов, с использованием OGRE, руки пока не доходят.. :(
Однако, рискну поделиться своим скромным опытом в вопросе сборки OGRE с помощью MinGW и черкануть немного об этом, в принципе, достаточно простом процессе. Может кому-то и пригодится (конечно, в первую очередь мне самому).. :)



Для того чтобы собрать OGRE понадобиться:
1.Установленный MinGW (желательно первым способом) и настроенный Code::Blocks.
2.Собственно исходники OGRE. Для начала лучше попробовать архив с последним релизом, т.к.при сборке trunk-версии из репозитория могут быть проблемы требующие вмешательства напильника.. Последний релиз следует искать тут http://www.ogre3d.org/download/source. В моем случае файл OGRE 1.6.2 Source For Windows ( ogre-v1-6-2.zip, 11 April 2009, 46.4Mb ).
3.Архив со сторонними зависимостями (Precompiled Dependencies). Это предварительно скомпилированные сторонние библиотеки. ВНИМАНИЕ, архив зависимостей должен соответствовать вашему компилятору, в нашем случае MinGW (библиотеки для Visual Studio не подойдут). Ищем архив на странице с исходниками http://www.ogre3d.org/download/source. В моем случае Code::Blocks + MingW Precompiled Dependencies (OgreDependencies_CBMinGW_Shoggoth_20090131.zip, 31 January 2009, 21.5Mb ).
4.Если хочется собрать плагин для рендеринга через DirectX (RenderSystem_Direct3D9.dll), то нужно еще установить DirectX SDK (у меня валялся файл DXSDK_Nov08.exe, 507 MB) или просто раздобыть заголовочные файлы от него (библиотечные файлы идут в архиве с зависимостями libd3dx9_30.a, libd3dx9d_30.a, libd3d9.a, а либы для Visual Studio из SDK все равно не подойдут). В принципе можно положить на DirectX болт, так есть еще OpenGL рендер (RenderSystem_GL.dll), который прекрасно собирается без DirectX SDK и позволяет запускать все стандартные демки OGRE. Нужно только пропатчить файл Plugins.cfg в директории с собранными демками перед запуском и закаментить или вообще убрать строчку «Plugin=RenderSystem_Direct3D9».

Прибарахлились. Можно ехать дальше..

Распаковываем архив с исходниками ogre-v1-6-2.zip в какую-нибудь папку. Я буду предполагать, что исходники распакованы в папку «c:\dev».
Распаковываем зависимости OgreDependencies_CBMinGW_Shoggoth_20090131.zip в папку с исходниками OGRE «c:\dev\ogre».
Запускаем Code::Blocks и открываем в нем файл рабочей области «c:\dev\ogre\Ogre.workspace».
Если у вас многоядерная система и есть желание ускорить процесс сборки, проверьте настройки компиятора и укажите сколько процессов использовать для сборки (об этом я писал в конце поста про Code::Blocks). Это делается в меню Code::Blocks «Settings->Compiler and Debugger..->Global compiler settings» на вкладке «Other settings»
Если DirectX SDK установлен пропишите его в путях компилятора. Code::Blocks «Settings->Compiler and Debugger..->Global compiler settings» на вкладке «Search directories» в суб-вкладке «Compiler» добавьте путь к заголовочным файлам DirectX, у меня это «C:\Program Files\Microsoft DirectX SDK (November 2008)\Include».
Если на DirectX Вы забили, то закройте проект RenderSystem_Direct3D9, чтобы не было ругани при попытке его сборки (правой на названии «Close project»).

Все готово к сборке :). Жмем в меню Code::Blocks «Build->Build workspace» и идем пить чай пока идет сборка.

Если во время сборки не было ошибок, то все клево. Идем в папку «c:\dev\ogre\Samples\Common\bin\Release\» и любуемся собранными демками. Если нужно отключаем DirectX в Plugins.cfg.

Если у Вас не пашет пример Demo_BspCollision.exe, то попробуйте добавить строчку «dInitODE();» в начало конструктора OgreRefApp::World::World («c:\dev\ogre\ReferenceApplication\ReferenceAppLayer\src\OgreRefAppWorld.cpp») и пересоберите проект Demo_BspCollision.

Ссылки по теме:
http://www.ogre3d.org
http://www.ogre3d.ru

На сегодня все. Удачной компиляции! :)

P.S. К сожалению, я здесь упустил один момент. В wiki на ogre3d.org есть замечание о том что их тулбокс с mingw использует модифицированную версию библиотеки libstdc++, т.к. при использовании стандартной версии идущей с gcc-g++ при передачи строк между dll возникают проблемы с памятью (из за того что libstdc++ статически линкуется к каждой dll). Насколько я понял это в основном касается OgrePlatform и OgreMain из OGRE 1.4.x. Но по всей видимости в Ogre 1.6.x код из OgrePlatform перекочевал в OgreMain, и возможно проблема уже не актуальна :).. Во избежание неприятных последствий можно перестраховаться и воспользоваться TDM Mingw (где уже сделаны необходимые модификации), либо использовать тулбокс с ogre3d.org обновив пакеты w32api и mingwrt (w32api-3.13-mingw32-dev.tar.gz, mingwrt-3.15.2-mingw32-dev.tar.gz)

Читать дальше......

вторник, 23 июня 2009 г.

Установка Code::Blocks (Nightly builds) в Windows

Несмотря на наличие на официальном сайте среды Code::Blocks полноценных инсталляторов для множества платформ, разработчики не радуют пользователей регулярностью их обновлений. Интервал между двумя официальными релизами (версией 8.02 и предыдущей) был более 2-х лет. :) Однако, все это время среда разработки продолжала развиваться и обрастать новыми возможностями.

UPD 9.01.2010: Вставил скриншоты которые валялись на компе уже очень давно :).

Очевидно, у команды разработчиков Code::Blocks, просто, нет возможности часто подготавливать полноценные релизы.. Это не удивительно, если учесть то, что разработка ведется энтузиастами в свободное от основной работы (т.е. зарабатывания денег) время.
К сожалению, развитие программы плохо заметно если пробегать официальный сайт http://www.codeblocks.org бегло, т.е. ограничиться посещением страницы с описанием и сразу перейти на страницу загрузки с версией не первой свежести.. Вполне возможно, именно первое знакомство со старыми версиями и отпугивает многих потенциальных пользователей, от того чтобы начать использовать эту среду. Но разработка не стоит на месте и прогресс можно наблюдать, просматривая списки изменений, на форуме http://forums.codeblocks.org/ в разделе Nightly builds, где регулярно выкладываются свежие билды Code::Blocks под Windows на основе последних версий исходников из репозитория. Существует так же неофициальный debian-репозиторий c ночными сборками http://apt.jenslody.de, который можно использовать для установки последних версий в Debian и Ubuntu. Кроме того для самых отчаянных и нетерпеливых всегда существует возможность самостоятельно собрать Code::Blocks из исходников. Для получения последних версий исходников всегда можно обратиться к svn-репозиторию проекта: http://svn.berlios.de/svnroot/repos/codeblocks/trunk
Итак, если Вас не устраивает версия Code::Blocks представленная в секции загрузки на официальном сайте, то рекомендую попробовать последнюю ночную сборку, предварительно установив MinGW. Где искать MinGW, я уже писал ранее.
Смело идем на форум http://forums.codeblocks.org/ в раздел Nightly builds и заходим в последний созданный топик сообщающий о выходе билда.
Например: «The 01 June 2009 build (5616) is out». Из названия следует что успешно вышел билд за 1 июня на основе ревизии 5616 из официального svn-репозитория проекта.
В первом посте топика видим несколько ссылок: ссылка на rss с новостями, инструкцию по работе с ночными сборками и 3 ссылки на файлы архивов в формате 7z. Если Вы впервые качаете ночную сборку, то нужно обязательно загрузить все три файла.
В моем случае это:
wxmsw28u_gcc_cb_wx2810.7z - библиотека wxWidgets специальная сборка для Code::Blocks. Меняется редко если для предыдущей ночной сборки вы уже скачали этот файл, то второй раз качать его не нужно. :)
mingwm10_gcc421.7z - какая то служебная библиотека из состава MinGW, нужна для dll c wxWidgets. :) Меняется еще реже.
CB_20090601_rev5616_win32.7z - свежий билд Code::Blocks. Меняется каждую ночную сборку.. ;)

Создадим папку в которой будет жить среда Code::Blocks и распакуем в нее содержимое всех трех архивов. По старой привычке у меня эта папка имеет незамысловатый путь «c:\codeblocks». ;) Установите MinGW если вы этого еще не сделали.

Запустите codeblocks.exe. При первом запуске среда отобразить диалог со списком обнаруженных в системе компиляторов.



В моем случае Code::Blocks нашел установленный MinGW как GNU GCC Compiller и компилятор из состава Microsoft Visual Studio 2008 Express.
Я выбираю «GNU GCC Compiller», нажимаю «Set as default» и «OK», в дальнейшем MinGW будет использоваться по умолчанию.
Компилятор выбран и программа радостно откроет главное окно и диалог «Tip of the day». Закройте окно с советами (можете снять галочку, чтобы оно не выскакивало при старте программы), к нему всегда можно вернуться через главное меню в разделе «Help». Далее программа спросит хотите ли Вы ассоциировать Code::Blocks с файлами C/C++ (*.c, *.cpp, *.h), файлами проектов Code::Blocks (*.cbp, *.workspace) или даже c файлами проектов других сред разработки DevCPP и Visual Studio.



Я выбираю ассоциации с файлами C/C++ и файлами проектов Code::Blocks, это третья строчка. Нажимаем «OK» и среда уже практически готова к работе, осталось немного подстроить интерфейс под себя и проверить на тестовом проекте.



Закрываем окошко «Scripting console» и размещаем панели инструментов более компактно. Часть панели можно выборочно скрыть через меню «View->Tollbars»
Я размещаю панели в 3 строчки:
1 Строчка - панели Main (значки сохранения, открытия файлов и т.д.), IncrementalSearch и ThreadSearch.
2 строчка - панель CodeCompletion.
3 строчка - панели Compiller и Debugger.



Для проверки попробуем скомпилировать HelloWorld . :) Для этого создадим новый проект «File->New->Project». Откроется окно с выбором шаблонов проектов. Выберите «Console application» - откроется мастер создания проекта.





Первая страница мастера не представляет интереса. На второй нужно указать язык проекта C или C++. На третьей нужно указать название проекта и папку где он будет создан. На четвертой(последней) странице производится выбор компилятора для проекта и настройка папок куда будут складываться результирующие исполняемые и объектные файлы. Жмем Finish - проект создан. В окошке Managment появился новый проект, пока состоящий из одного файла main.cpp (или main.c).

Соберем проект, меню «Build->Build and run» или просто F9 (для компиляции, линковки и запуска проекта).

Если сборка пройдет неудачно или Code::Blocks не найдет MinGW, то в нижней части программы на владке Build log появится сообщение подсвеченное красным.
Например, если не найден MinGW:
-------------- Build: Release in test ---------------
Compiling: main.cpp
Execution of 'mingw32-g++.exe -Wall -fexceptions -O2 -c D:\dev\sandbox\test\main.cpp -o obj\Release\main.o' in 'D:\dev\sandbox\test' failed.
Nothing to be done.



Убедитесь что MinGW установлен. Если он установлен в папку отличную от «c:\mingw» и не определяются Code:Blocks автоматически, то зайдите в настройки компилятора «Settings->Compiler and Debugger..->Global compiler settings». В выпадающем списке «Select compiler» выберите «GNU GCC Compiler», перейдите на вкладку «Toolchain executables» и в поле «Compiler installation directory» укажите путь к MinGW.

Если сборка пройдет успешно Вы увидите перед собой окошко консоли с примерно таким текстом:
Hello world!
Process returned 0 (0x0) execution time : 0.093 s
Press any key to continue.





Это окошко принадлежит пускалке для консольных приложений «cb_console_runner.exe», которая замеряет время выполнения Вашей программы и, ожидая ввода с клавиатуры, не дает пропасть в небытие данным выведеным на консоль, избавляя от извращений типа «getchar()» в конце программы. :)

Ну вот и все, Code::Blocks - готов к работе. :)

На последок, порекомендую так же в настройках компилятора «Settings->Compiler and Debugger..->Global compiler settings» изменить формат лога компиляции и указать максимально количество процессов для параллельной компиляции файлов проекта (дает существенное ускорение компиляции больших проектов на многоядерных процессорах).
Для этого перейдем на вкладку «Other settings». Поставим галочку «Display build progress percentage in log» (это будет отображать в логе компиляции прогресс сборки проекта в процентах). Иногда может быть полезным посмотреть полную информацию о параметрах вызова компилятора, для этого может пригодится установить параметр «Compiler logging» в значение «Full command line» . Изменим число в поле с названием «Number processes for prallel builds» на число равное числу ядер в вашей системе. В принципе это число может быть и больше. Например у меня сборка одного проекта на двухядерной системе в 4 процесса происходила слегка быстрее чем в 2 процесса. Но не увлекайтесь, если поставить совсем неадекватное число то, получите обратный эффект - уменьшение скорости.

На сегодня все. Удачной компиляции! :)

Читать дальше......

пятница, 19 июня 2009 г.

Установка MinGW

MinGW - это нативный порт компиляторов GCC на платформу Windows. На сегодняшний день является наиболее «вменяемой» бесплатной альтернативной коммерческим компиляторам. Повсеместно применяется для разработки кросс-платформенных приложений. Например, именно MinGW используется в качестве компилятора С++ под Windows в средах разработки Qt Creator, Code::Blocks (в качестве основного), NetBeans и Eclipse.

Ниже я перечислю основные особенности MinGW и опишу несколько способов для его установки.


Для начала перечислю важные (на мой взгляд) особенности MinGW. ;)

Основные достоинства:
+ полностью бесплатен;
+ генерирует хороший быстрый код;
+ непрерывно развивается;
+ удобство и компактность установки.

Основные недостатки:
- Относительно медленная компиляция C++ кода;
- Относительно медленная линковка результирующего файла;
- Несовместимость с, содержащими C++ классы, *.lib и *.dll файлами созданными в MS Visual Studio. По этой причине MinGW и PhysX SDK не дружат друг с другом..

Для того чтобы заполучить на свой компьютер готовый к работе MinGW, существует несколько способов.

Способ 1- использовать автоматический установщик с официального сайта MinGW.
Установщик официальной версии MinGW следует искать на сайте http://mingw.org/
На момент написания этих строк файл установщика называется «MinGW-5.1.4.exe» и его можно загрузить со страницы загрузки.
Установщик состоит из одного файла «MinGW-5.1.4.exe» и имеет мизерный разер (~140 KB). Непосредственно при установке он выкачивает дополнительные архивы с компонентами GCC. По умолчанию MinGW ставиться в папку «c:\mingw» Перед установкой рекомендую поместить «MinGW-5.1.4.exe» в отдельную пустую папку, т.к. все выкаченные архивы кэшируются в папке откуда запущена установка. Если ничего не удалять, то можно все это добро скопировать и устанавливать без интернета, запуская все тот же «MinGW-5.1.4.exe».

Следует отметить, что при установке через «MinGW-5.1.4.exe», можно выбрать версию Mingw (Previous, Current, Candidate), инсталлятор регистрирует установку в системе и предоставляет возможность обновления и удаления текущей установки.
Если MinGW ставится для работы с Code::Blocks, то при установке рекомендую выбрать версию «Candidate», а среди устанавливаемых компонентов должны быть обязательно отмечены «MinGW base tools», «g++ compiller» и «MinGW Make».

Способ 2 - Выкачать нужные пакеты с http://mingw.org вручную или воспользоваться архивами полученными при установки первым способом.
Приведу список файлов которые скачивает официальный установщик MinGW для версии Candidate:

gdb-6.8-mingw-3.tar.bz2
mingw32-make-3.81-2.tar.gz
binutils-2.18.50-20080109-2.tar.gz
gcc-g++-3.4.5-20060117-3.tar.gz
w32api-3.13-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dev.tar.gz
gcc-core-3.4.5-20060117-3.tar.gz

Не нужно даже прибегать к запуску инсталлятора, достаточно просто разархивировать все архивы в одну папку. Для распаковки можно воспользоваться замечательным бесплатным архиватором 7-zip (http://www.7-zip.org/).

И еще, отладчик gdb (который будет очень кстати при работе в среде Code::Blocks) придется качать отдельно в секции загрузки http://mingw.org

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

Примером может служить пакет MinGW С++ Toolbox предлагаемый (в связке с Code::Blocks ;) в качестве альтернативного инструментария для сборки и работы с движком рендеринга Ogre. Никаких специфических ограничений и заточек под Ogre в нем нет, и я давно использовал его просто как удобный «все-в-одном» инсталлятор MinGW. Все было замечательно. :) Но однажды случилось страшное.. В очередной раз решив собрать свежий Ogre, потыкать примеры и заставить себя чего-нибудь на нем слепить, я обнаружил что исходники относительно недавно вышедшего Ogre 1.6.2 у меня просто не собираются этим пакетом инструментов (требуется обновление w32api до версии 3.13). К слову, установка MinGW версии Candidate первым способом позволила решить эту проблему. ;) Хотя данный пакет в целом не плох и ранее всегда справлялся со своими задачами. Если требуется компактный инсталлятор со стабильным MinGW для общих задач, то можно со спокойной душой качать MinGW_Toolbox_Setup_wr1 c ogre3d.org. Будем наедятся что актуальная версия этого пакета появится в скором времени.

Если поискать, то в интернете, можно найти и другие сборки MinGW от энтузиастов. Как правило это просто само-распаковывающихся архивы.

Совсем недавно мне попалась альтернативная сборка последних версий GCC/Mingw32 - TDM-MinGW http://www.tdragon.net/recentgcc/
Она является неофициальной и, как заявляют разработчики, предназначена для экспериментальных целей. Но судя по всему ее можно использовать, если она не вызывает проблем в конкретном проекте. :) Я ее еще не испытывал на сборке крупных вещей, но со временем постараюсь это исправить.
Сборка имеет полноценный инсталлятор. При установки можно выбрать между стабильными и экспериментальными вариантами исполнительных фалов MinGW. Включает в себя все необходимое для сборки и отладки С++ проектов (make,gcc,gdb).
Из плюсов этой сборки несомненным является ее регулярное обновление.
Качать Bundled Installer. Размер около 26 MB.

Способ 4 - скачать среду разработки со встроенным MinGW. :)
Один самый ленивый способ, которым я пользовался когда-то давно. Я ставил Code::Blocks с MinGW в комплекте и накатывал ночные сборки поверх.
Из плюсов можно отметить что отпадает вопрос настройки среды разработки. :) Но в тоже время если поставить Qt Creator или старину wxDevCpp со встроенным MinGW и потом настроить использование его в Code::Blocks получится путаница и последующие лишние телодвижения при удалении и обновлении вышеупомянутых программ. Если в скачиваемой программе MinGW идет в комплекте и никому не мешает, то это прекрасно. Но для остальных программ лучше использовать отдельную инсталляцию MinGW в папку «c:\mingw», т.к. там они его буду искать в первую очередь.

Думаю на сегодня хватит про MinGW.

В ближайшее время постараюсь (как и обещал ранее) написать про установку ночных сборок Code::Blocks и их первичную настройку.

Читать дальше......

четверг, 18 июня 2009 г.

Релиз Jython 2.5

Наконец то Jython 2.5 разродился релизом. :)
Появился повод пощупать его поплотнее.

Качать: http://downloads.sourceforge.net/jython/jython_installer-2.5.0.jar

Читать дальше......

вторник, 16 июня 2009 г.

Cреда разработки Code::Blocks

Несколько лет назад я случайно попробовал Code::Blocks и он меня «зацепил». В 20 мегабайтах инсталлятора скрывалась полноценная среда программирования готовая к работе сразу после минутной установки. Ее можно было быстро и без геморроя развернуть на любой подручной машине, в отличие от C++ Builder 6, который я использовал, и MS Visual Studio, на который я заглядывался ,но так и не перелез из-за ненадобности. С тех пор много воды утекло но для своих С++ проектов и экспериментов я стараюсь использовать именно Code::Blocks.

Не претендуя на полноту и оригинальность, я все же расскажу немного об этом добротном инструменте. ;)


Code::Blocks - это интегрированная кроссплатформенная среда разработки для языков С, C++ и D.
На мой взгляд, она хорошо подходит для изучения С/С++ и разработки относительно небольших проектов.

Перечислю главные, на мой взгляд, особенности программы:
+ Code::Blocks написан на С++ с использованием библиотеки wxWidgets, поэтому работает довольно шустро и кушает мало ресурсов системы (в отличие от Eclipse и Netbeans, написанных на Java).
+ Встроенный редактор кода базируется на компоненте Scintilla и предлагает подсветку синтаксиса для десятка языков с возможностью свертывания фрагментов кода. К слову сказать, Scintilla так же используется в редакторах SciTE и Notepad++.
+ Возможность экспорта исходника (с подсветкой синтаксиса) в html, odt, pdf и rtf.
+ Кроссплатформенность. Среда прекрасно работает в Windows и Linux.
+ Хорошо поддерживает разработку программ с использованием wxWidgets.
+ Поддержка множества компиляторов. Кроме GСС/MinGW поддерживаются и компиляторы от Microsoft, Borland, Intel, Digital Mars. Но на мой взгляд, GСС/MinGW интегрированы в среду наиболее плотно и лучше использовать именно их.
+ Интегрированный отладчик. Вполне терпимый.
+ Автодополнение кода. Вполне терпимое. :)
+ Удобные функции поиска по проекту.
+ Богатые возможности по настройке проекта.
+ Простой и удобный интерфейс. Хотя местами возможно деревянный. :)
+ Поддержка плагинов. Можно писать свои модули расширений. Например новые типы редакторов.Множество стандартных плагинов облегчающих жизнь:
* Source code formatter (Astyle) – расставляет отступы в коде и приводит к выбранному стилю. Удобно если вам попался чужой код форматирование которого съехало, либо его изначально не было. ;)
* wxSmith – визуальный редактор форм для проектов на базе wxWidgets.
* DragScroll – позволяет зажав в редакторе кода правую кнопку мыши прокручивать код.
* Profiler, Devpak installer, HexEditor и д.р.
+ Code::Blocks достаточно легко можно собрать из исходников. Это может понадобится если установить плагин от сторонних разработчиков (Например: плагин для поддержки Svn или разработка на Python).
+ Постоянное развитие проекта, регулярно появляются новые фичи. Ночные сборки под Windows (Nights Builds) c последними исправлениями ошибок и новыми возможностями выходят регулярно не реже раза в месяц, а иногда и каждый день. :)

Неплохо для Проекта развивающегося на голом энтузиазме? :)

В Code::Blocks достаточно комфортно можно изучать чужие исходники, активно используя функцию поиска упоминаний выделенного класса или просто текста.
Ночная сборка занимает около 7 мегабайт в архиве, но для нее необходимо устанавливать MinGW отдельно (плюс 19 мегабайт).
В распакованном виде Code::Blocks и MinGW занимают около 100 мегабайт.
Можно смело ставить на нетбук. :)

В следующем посте постараюсь рассказать об установке и настройке ночных сборок под Windows (Nights Builds).

Интересующимся другими бесплатными средами кроссплатформенной разработки на С++ рекомендую посмотреть:
Qt Creator - Хорошая среда для разработки на Qt (написано на C++)
Eclipse C/C++ Development Tooling - CDT - Среда на базе Eclipse (написано на Java).
NetBeans - Среда в основном для Java но имеется поддержка C++ (написано на Java)/

Что еще посмотреть:
http://www.codeblocks.org/downloads – страница загрузки
http://ru.wikipedia.org/wiki/Code::Blocks
http://alenacpp.blogspot.com/2005/10/codeblocks-studio.html
http://wxwidgets.info/tag/codeblocks/

Читать дальше......

Проверка связи

Доброго времени суток!
Это мой первый пост в моем первом блоге. :)
Блог будет посвящен различным интересующим меня штукам в основном из области прогаммирования и прочего IT..

Читать дальше......