Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР1-С++-09-февраля-2012.doc
Скачиваний:
22
Добавлен:
15.09.2019
Размер:
671.74 Кб
Скачать

1.3.2. Бесплатные интегрированные среды разработки (ide)

Dev-C++

http://www.bloodshed.net/devcpp.html

Поддерживаемая система: Windows 95/98/NT/2000/XP

Поддерживаемые компиляторы: семейства GNU GCC (MinGW, Cygwin)

Если вы уже искали или только ищите бесплатную IDE под ОС семейства Windows для C++ то, я уверен на 100 %, хоть раз да услышали (услышите) про Dev-C++. Это весьма функциональная и компактная среда разработки может стать хорошим подспорьем как начинающему программисту, так и профессионалу. К сожалению, Dev-C++ уже давно не поддерживается - остановив свое развитие на версии 5 beta. Но не стоит из-за этого сразу сбрасывать эту IDE со счетов, а стоит обратиться к wxDev-C++ - развитию проекта Dev-C++ (который, помимо всей функциональности Dev-C++, содержит и дизайнер форм для кросс-платформенной библиотеки wxWidgets).

Итак, что мы получаем решив использовать Dev-C++:

- поддержка компилятора GCC

- интегрированная отладка (используется GDB)

- менеджер проекта

- настраиваемый редактор кода с подсветкой синтаксиса

- просмотрщик классов

- автозавершение кода

- список функций

- поддержка профилей

- быстрое создание Windows-приложений, консольных программ, статичных библиотек и DLL (шаблоны)

- поддержка шаблонов, позволяющих создавать свои собственные типы проектов

- создание makefile'а

- редактирование и компиляция файлов ресурсов

- менеджер инструментов

- поддержка печати

- средства поиска/замены (забавно было бы их не обнаружить :-))

- поддержка CVS

Ну что вы уже загорелись желанием заполучить эту "лапочку"? ;-) Тогда смело качайте Dev-C++ либо wxDev-C++!

MinGW Developer Studio

http://koti.mbnet.fi/vaultec/mingwstudio.php 

Поддерживаемая система: Windows 95/98/NT/2000/XP/Vista/7

Поддерживаемые компиляторы: MinGW

Еще один "старичок" в полку IDE. Как видно из названия, работает с портированой версией GCC - MinGW, хотя в большинстве обзоров данную среду характеризуют как кросс-платформенную. Если вы программировали на языке C++ в MS Visual Studio 6.0, то эта среда вам явно придется по душе, ибо автор MinGW Developer Studio при разработке интерфейса постарался повторить эту IDE от Microsoft. Существенным минусом является лишь то, что с 2005 года проект не разрабатывается, а с 2008 года даже перестал работать официальный сайт. Но мир не без добрых людей и, если вы все же заинтересованы в использовании MinGW Developer Studio, вы всегда можете скачать актуализированную версию с сайта VaulTec. Ничего нового, по сравнению с финальной официальной версией, конечно, там нет - гарантируется лишь работа с одной из последних версий MinGW.

Исходя из доступной информации, рассматриваемая среда разработки обладает следующими "плюшками":

- интерфейс, поддерживающий работу с несколькими документами

- подсветка синтаксиса

- управление проектом (надо думать "менеджер проекта" :-)) с настройками для debug и release сборок

- сворачивание кода

- интегрированая помощь

- поддержка отладки

- и еще много других, о которых авторы постеснялись рассказать.

Code::Blocks

http://www.codeblocks.org/

Поддерживаемая система: Linux/Mac OS X/Windows

Поддерживаемые компиляторы: GCC(MinGW)/Digital Mars C/C++/Microsoft Visual C++ 6/Microsoft Visual C++ Toolkit 2003/Microsoft Visual C++ 2005/2008/Borland C++ 5.5/Watcom/Intel C++ compiler

Первая действительно кросс-платформенная среда разработки в этом обзоре. Хотя проект и достаточно молодой, но это не помешало стать ему популярным среди программистов, особенно разрабатывающих приложения одновременно для нескольких операционных систем. Создатели Code::Blocks пошли по пути открытой архитектуры, тем самым предоставив возможность сторонним разработчиками расширять возможности среды за счет собственных плагинов (на момент написания обзора таких насчитывалось более двух десятков). Об одном плагине стоит сказать отдельно - wxSmith, по сути являющимся wxWidgets RAD инструментом, позволяющим проектировать оконные формы и прочие визуальные объекты используя библиотеку wxWidgets (библиотека wxWidgets устанавливается отдельно). Многим, я думаю, придется по душе и наличие большого числа шаблонов создаваемого проекта - начиная от статичной библиотеки и заканчивая такими проектами как Qt4 и Ogre. Конечно, "матерые" программеры все это и сами могут написать, что не скажешь о новичках, только-только вставших на зыбкий путь программирования :-), для которых это будет хорошим подспорьем в начинаниях. Как гласит народная мудрость - "лучше один раз пощупать, чем сто раз услышать" ;-), поэтому, тем кто заинтересовался Code::Blocks милости просим на страницу загрузки, а тем, кто еще сомневается, еще пару положительных моментов (помимо уже указанных):

- подсветка кода (ну куда уж без нее :-))

- сворачивание кода C++ и XML

- автозавершение кода

- просмотрщик классов

- быстрая система сборки (не требуются make-файлы)

- поддержка параллельных сборок (удобно для многоядерных процессоров)

- импорт проектов MS VC

- импорт проектов Dev-C++

- поддержка дебагеров GNU GDB и MS CDB (правда реализована пока не вся функциональность MS CDB)

- и др.

Eclipse C/C++ Development Tools

http://www.eclipse.org/cdt/

Поддерживаемая система: AIX/FreeBSD/HP-UX/Linux/Mac OS X/OpenSolaris/Solaris/QNX/Windows

Поддерживаемые компиляторы: преимущественно основанные на GNU GCC

Одна из известнейших сред разработки, "краеугольный камень" которой заложила IBM. По сути, Eclipse C/C++ Development Tools (CDT), является плагином одной большой интегрированной среды разработки модульных кроссплатформенных приложений и имя ей - Eclipse. Таким образом Eclipse включает в себя набор плагинов позволяющих создавать приложения на Java, C/C++, PHP и др. Разработкой всей этой махины руководит Eclipse Foundation, бегло ознакомиться с которой вы можете, например, на сайте Википедии. Громкие имена компаний, стоящие за разработкой и развитием платформы Eclipse, позволяют с уверенностью говорить о функциональности и стабильности этой среды. Так CDT имеет в своем арсенале все то, что должна иметь современная IDE для C/C++:

- подсветка синтаксиса

- автозавершение кода

- сворачивание кода

- ссылочная навигация по коду (гипертекстовые ссылки)

- рефакторинг кода

- создание и управление проектами для различных инструментальных средств

- стандартная make сборка

- визуальные средства отладки

- и многие другие

Добавьте к этому различные плагины расширяющие функциональность Eclipse C/C++ Development Tools и вы получите практически идеальную среду разработки. Почему практически идеальную? А потому, что разработана она на Java и, соответственно, требует установленную в системе виртуальную машину Java версии не ниже 1.5. Именно это, зачастую, становится решающим фактором для некоторых разработчиков, поскольку при слабой аппаратной части значительно увеличивает время, как компиляции разрабатываемого приложения, так и реагирования самой среды на действия пользователя. Закачать же CDT вы всегда можете со страницы загрузки Eclipse.

NetBeans IDE

http://www.netbeans.org/

Поддерживаемая система: FreeBSD/Linux/Mac OS X/OpenSolaris/Solaris/Windows

Поддерживаемые компиляторы: GNU GCC

Как и рассмотренная уже Eclipse C/C++ Development Tools, среда разработки NetBeans написана на языке Java (соответственно так же требует установленной виртуальной машины Java). В общем приближении эти среды даже можно назвать похожими. В NetBeans так же реализована модель компонент (плагинов) позволяющих расширять базовый функционал как новыми возможностями, так и поддержкой новых языков программирования - Java, Ruby, C/C++, Groovy, PHP. Естественно, данная среда изначально ориентирована на разработку Java-приложений, но, тем не менее, можно скачать и отдельную сборку IDE поддерживающей написание приложений только на языке C/C++. Конечно же в NetBeans вы найдете все те возможности и инструменты, что доступны и в Eclipse C/C++ Development Tools поэтому выделять что-то отдельное нет смысла. Зачастую, сравнивая эти 2 IDE, основная масса разговоров сводится к теме, какая из них быстрее работает, а не к обсуждению возможностей. Так что, если вы заинтересованы в среде разработки подобного типа, можете смело качать обе и тестировать какая вам придется более по душе.

Microsoft Visual Studio Express

http://www.microsoft.com/express/

Поддерживаемая система: Windows XP SP3/Vista/Server 2003/Server 2008/7

Поддерживаемые компиляторы: MS Visual C++ 2008/2010

Интенсивное развитие бесплатных средств разработки, особенно продуктов за которыми стоят такие титаны ИТ бизнеса как IBM, Oracle, Intel, AMD, очевидно вынудило пересмотреть политику Microsoft на свои продукты для разработчиков ПО. Так с 2005 года каждый желающий может скачать с сайта компании бесплатную версию популярной IDE - Visual Studio Express. Эта редакция Visual Studio представляет собой набор урезанных средств разработки для языков Visual Basic, C#, интересный нам C++ и Visual Web Developer Express и позиционируется Microsoft как IDE начального уровня для лиц не занимающихся профессионально программированием (учащихся, студентов, любителей etc.). Не переживайте - графический интерфейс и возможность создать оконные приложения вам дадут, а вот пользоваться наработками компании в области оптимизации и рефакторинга кода - практически нет. Так же вы не получите и, так всеми любимой в Visual Studio, возможности быстро устанавливать подключения к удаленным базам данных в дизайнере данных, как не получите и поддержки плагинов и компиляцию 64-битных приложений. Но это все не повод отказываться от Visual Studio Express, напротив тем, кто желает научиться программировать в среде Windows и для среды Windows, это будет полезная стартовая площадка, а подключив и MSDN - прекрасным справочным пособием по языку и API Windows.

Qt Creator

http://qt.nokia.com/products/developer-tools/

Поддерживаемая система: Linux/Mac OS X/Windows

Поддерживаемые компиляторы: GNU GCC

Последняя IDE в этом обзоре, но далеко не последняя в функциональных возможностях. В отличии от всех уже рассмотренных сред разработки, Qt Creator изначально разрабатывался и развивается как IDE для фреймворка Qt. Конечно, никто не отрицает возможности написания на нем стандартного консольного приложения, но согласитесь качать ради этого ~ 46 мб (а в установленном виде порядка 100 Мб) - не выглядит весьма рациональным решением ;-). Поэтому сам так делаю, и всем рекомендую - рассматривать Qt Creator исключительно как среду разработки для кроссплатформенного фреймворка Qt. В этом отношении вы высоко оцените интеграцию IDE с дизайнером форм (Qt Designer) и справочной системой (Qt Assistant). Для начинающих осваивать Qt (и для ленивых мэтров :-)) разработчик, на сайте продукта, предлагает сразу скачать Qt SDK - набор всех необходимх программ для разработки приложений использующих Qt - библиотеку Qt, Qt Creator, компилятор MinGW (для Windows пользователей). Исходя из целевой направленности Qt Creator, можно выделить следующие его особенности:

- интеграция дизайнера форм Qt и справочной системы Qt

- расширяемость (посредством плагинов)

- поддержка дебагеров GDB (графический фронтенд) и CDB

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

И много других, напрямую не зависимые от Qt Creator'а, а реализуемые посредством Qt, например, возможность создавать приложения для мобильных телефонов под управлением операционной системы Symbian и Maemo.

На этой радостной, надеюсь, ноте я хотел бы закончить свой обзор. Чем пользоваться в своей работе каждый волен выбирать сам, либо ему диктуют корпоративные правила. Хочется верить, что кому-то этот очерк позволит так же определиться в своем выборе. Для меня, лично, это стала связка Code::Blocks + MinGW и, конечно же, Qt SDK.

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

Таблица 1.1

Интегрированные средства разработки

IDE

Лицензия

Windows

Linux

Другие платформы

Отладчик

Разработка GUI

Toolchain

Профилирование

Покрытие кода

Автодополнение

Статический анализ кода

GUI Based Design

Браузер классов

Anjuta

GPL

Нет

Да

Да

Да

Неизвестно

Неизвестно

Неизвестно

Да

Неизвестно

Да

Да

C++ Builder

проприетарная

Да

Нет

Да

Да

Да

Неизвестно

Неизвестно

Да

Да

Да

Неизвестно

Code::Blocks

GPL

Да

Да

Mac OS X

Да

Да

Да

Да

Неизвестно

Да

Да [3]

Да [4]

Да

Codeforge

проприетарная

Нет

Да

Нет

Да

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Да

Да

Да

Да

Codelite

GPL

Да

Да

Mac OS X

Да

Да

Да

Неизвестно

Неизвестно

Да

Да

Неизвестно

Да

Dev-C++

GPL

Да

Да

Да

Да

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Нет

Неизвестно

Eclipse CDT

EPL

Да

Да

JVM

Да

Да

Нет

Неизвестно

Неизвестно

Да

Неизвестно

Нет

Нет

Geany

GPL

Да

Да

Нет

Нет

Нет

Неизвестно

Неизвестно

Да

Неизвестно

Неизвестно

Да

GNAT Programming Studio

GPL

Да

Да

Solaris

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

KDevelop

GPL

Нет

Да

Да

Да

Да

Неизвестно

Неизвестно

Да

Неизвестно

Да

Да

Kuzya

GPL

Да

Да

FreeBSD, Mac OS X

Неизвестно

Нет

Да

Неизвестно

Неизвестно

Да

Неизвестно

Да

Неизвестно

MonoDevelop

GPL

Да

Да

Mac OS X

Да

Да

Нет

Неизвестно

Неизвестно

Да

Неизвестно

Да

Да

NetBeans C/C++ pack

CDDL

Да

Да

JVM

Да

Нет

Нет

Неизвестно

Неизвестно

Да

Неизвестно

Нет

Да

Pelles C

Freeware

Да

Нет

Да

Да

Да

Неизвестно

Неизвестно

Да

Неизвестно

Неизвестно

Неизвестно

Qt Creator

GPL

Да

Да

Mac OS X

Да

Да

Неизвестно

Неизвестно

Неизвестно

Да

Неизвестно

Да

Неизвестно

Sun Studio

проприетарная

Нет

Да

Solaris

Да

Да

Да

Да

Да

Да

Да

Неизвестно

Да

Rational Software Architect

проприетарная

Да

Да

JVM

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Turbo C++ Explorer

Freeware

Да

Нет

Да

Да

Да

Да

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Turbo C++ Professional

проприетарная

Да

Нет

Да

Да

Да

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Ultimate++

BSD

Да

Да

Да

Да

Да

Неизвестно

Неизвестно

Неизвестно

Да

Неизвестно

Да

Microsoft Visual Studio

проприетарная

Да

Нет

Да

Да

Да

Да

Да

Да

Да

Да

Да

Microsoft Visual Studio Express

Freeware

Да

Нет

Да

Да

Да

Неизвестно

Неизвестно

Да

Да

Да

Да

wxDev-C++

GPL

Да

Нет

Да

Да

Неизвестно

Неизвестно

Неизвестно

Да

Неизвестно

Да

Неизвестно

Xcode

Freeware

Нет

Нет

Mac OS X

Да

Да

Да

Да

Да

Да(*)

Да

Да

Да

Open Watcom

Sybase Open Watcom Public License

Да

Да

OS/2

Да

Нет

Да

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

1.4. Интегрированная среда разработки Dev-C++ (версия 4.9.9.2)

Dev-C++ - удобная и бесплатная система для программистов, использующих язык С++.

Dev-C++ - интегрированная среда разработки и компилятор для языка Си++. Программа позволит вам создавать ваши собственные программы.

Bloodshed Dev-C++ - Редактор и компилятор для написания программ на C++. Bloodshed Dev-C++ содержит все необходимые инструменты для написания, компилирования, проверки и выполнения программ, написанных на С++. Есть также инструмент для создания инсталляционных пакетов для созданных вами программ.

Бесплатная система для разработки программного обеспечения Dev-C++ состоит из редактора и компилятора. После установки Dev-C + + вы сможете начать программировать. В редакторе вы вводите строки кода. В систему встроен бесплатный компилятор GNU C + +, который транслирует ваш исходный код в язык понятный компьютеру. Если в вашей программе не содержится ошибок, Dev-C + + завершит создание программы и создаст исполняемый файл.

Dev-C++ Интегрированная среда (IDE) - это программная система, предназначенная для разработки, отладки и исполнения программ, написанных на языке Си, имеющая встроенный редактор текстов, подсистему работы с файлами, систему помощи (Help), встроенный отладчик, подсистему управления компиляцией и редактированием связей, компилятор и редактор связей. IDE дает возможность, таким образом, получить .exe - файл не используя другие программы.

Dev-C++ — свободная интегрированная среда разработки приложений для языков программирования C/C++. В дистрибутив входит компилятор MinGW.

Проект поддерживается SourceForge. Основатель проекта Колин Лаплас, компания Bloodshed Software.

На настоящий момент не разрабатывается, вместо него активно разрабатывается порт интерфейса Dev-C++ на wxWidgets — wxDev-C++.

Компилятор MinGW (англMinimalist GNU for Windows), ранее mingw32, — нативный программный порт GNU Compiler Collection (GCC) под Microsoft Windows, вместе с набором свободно распространяемых библиотек импорта и заголовочных файлов для Windows API. MinGW позволяет разработчикам создавать нативные приложения Microsoft Windows. В MinGW включены расширения для библиотеки времени выполнения

wxDev-C++ является развитием проекта Dev-C++, но также содержит дизайнер форм для библиотеки разработки wxWidgets. WxDev-C++ включает все свойства Dev-C++, а также новейшую версию wxWidgets необходимую дизайнеру форм для среды быстрой разработки приложений (rapid application development — RAD).

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

Как правило, чтобы выполнить программу на С++, необходимо пройти через 6 этапов: редактирование, препроцессорную (то есть предварительную) обработку, компиляцию, компоновку, загрузку и выполнение. Мы с Вами остановим свое внимание на системе С++ программирования Dev-C++.

Первый этап представляет создание и редактирование файла с исходным текстом программы. Он может выполняться с помощью простейшего редактора текстов программ. Программист набирает в этом редакторе свою С++ программу. При необходимости он снова обращается к ней и вносит с помощью этого редактора изменения в исходный текст программы. Далее программа запоминается на диске. Имена файлов C++ программ оканчиваются на "cpp". Однако, среда Dev-C++ имеет встроенный редактор, которым также можно пользоваться.

На втором этапе компилятор начинает препроцессорную обработку текста программы прежде чем ее компилировать. Компилятор. Что он делает? Он переводит программу в машинный код. То есть это объектный код программы.

Следует знать, что в системе С++ программирования перед началом этапа самой трансляции всегда выполняется программа предварительной обработки. Что она делает? Она отыскивает так называемые "директивы трансляции" или "директивы препроцессора", которые указывают, какие нужно выполнить преобразования перед трансляцией исходного текста программы. Обычно это включение других текстовых файлов в файл, который подлежит компиляции. Препроцессорная обработка инициируется компилятором перед тем, как программа будет преобразована в машинный код. Это позволяет забирать нужные программы-функции в текст компилируемой программы до начала процесса компоновки.

Третий этап это компиляция. Как правило, программы на языке С++ содержат ссылки на различные функции, которые определены вне самой программы. Например, в стандартных библиотеках или в личных библиотеках программистов. Объектный код, созданный компилятором содержит "дыры" на месте этих отсутствующих частей.

Четвертый этап - компоновка. Компоновщик связывает объектный код с кодами отсутствующих функций и создает таким образом исполняемый загрузочный модуль (без пропущенных "дыр").

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

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

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

1.5. Запуск Dev-C++

Dev-C++ запускается из главного меню путем нажатия на кнопку "Пуск" и последовательного выбора следующих пунктов меню "Программы"  "Bloodshed Dev-C++" "Dev-C++"

Рис. 4. Запуск Dev-C++

1.6. Элементы интерфейса IDE Dev-C++

После запуска отображается основное окно IDE, изображенное на рис.5.

Рис. 5. Общий вид окна Dev-C++

Окно среды разработки содержит строку заголовка, главного меню, панели инструментов. В рабочей области среды разработки содержится окно редактора для ввода программного кода, окно Обозревателя проектов.

Верхняя строка окна - главное меню, позволяющее обратиться к следующим подсистемам: меню файловой системы (Файл), меню редактирования (Правка), меню поиска и замещения (Поиск), меню управления проектом (Проект), меню управления компиляцией и исполнением программ (Выполнить), меню встроенного отладчика программ (Отладка), меню опций (Сервис), меню интеграции с системами контроля версий (CVS), меню управления окнами (Окно), меню помощи (Справка). Переход к главному меню осуществляется с помощью клавиши F10;