Программы для программирования на c для linux
Оригинал: What is a good IDE for C/C++ on Linux
Автор: Adrien Brochard
Дата публикации: 14 января 2015 г.
Перевод: А. Панин
Дата перевода: 24 мая 2016 г.
"Настоящий программист не использует интегрированную среду разработки, ведь ему вполне достаточно [вставьте сюда название любого текстового редактора] с некоторыми плагинами." Все мы когда-то слышали подобное утверждение. Хотя и сложно не согласиться с ним, следует признать, что интегрированная среда разработки все же может оказаться полезной в ряде случаев. Во-первых, ее проще настроить и использовать сразу же после установки. Кроме того, в ней проще начинать разработку проекта с нуля. Поэтому в данной статье я постараюсь привести список наиболее удобных интегрированных сред разработки с поддержкой языков программирования C/C++ для Linux. Почему я акцентирую внимание именно на языках C/C++? Скорее всего, потому, что C является моим любимым языком программирования, кроме того, нужно с чего-то начинать. Вам также следует учесть тот факт, что существует большое количество подходов к разработке кода на языке C, поэтому с целью сокращения списка в него были включены лишь "реальные интегрированные среды разработки", а не текстовые редакторы, такие, как GEdit или Vim с плагинами. Данные текстовые редакторы не являются плохой альтернативой интегрированных сред разработки по каким-либо причинам, тем не менее, в случае их рассмотрения список оказался бы слишком длинным.
1. Code::Blocks
Начнем с моего любимого программного продукта, а именно, Code::Blocks - простой и быстрой интегрированной среды разработки с поддержкой языков программирования C/C++. Как и в любой достойной интегрированной среде разработки, в ней реализованы подсветка синтаксиса, вкладки, механизмы автодополнения кода и управления проектами, а также интегрирован отладчик. Ее главным преимуществом является простая система плагинов, которая позволяет добавить поддержку таких незаменимых инструментов, как Valgrind и CppCheck, а также реализовать такие менее нужные функции, как мини-игра Тетрис. Мне же она нравится из-за главным образом из-за своего набора очевидных и удобных горячих клавиш, а также большого количества параметров конфигурации, которые могут пригодиться в тех или иных ситуациях.
2. Eclipse
Я помню о том, что собирался описывать лишь "реальные интегрированные среды разработки", а не текстовые редакторы с плагинами, при этом Eclipse как раз является "реальной интегрированной средой разработки". Но для программирования на языке C в Eclipse все же нужно установить небольшой плагин. Таким образом, я не противоречу сам себе. Кроме того, было бы невозможно создать список интегрированных сред разработки без упоминания такого монстра, как Eclipse. Нравится вам это или нет, Eclipse остается отличным инструментом для разработки программных продуктов на языке Java. А благодаря проекту CDT , данная интегрированная среда разработки может с успехом использоваться и для разработки программных продуктов на языках C/C++. Вы сможете пользоваться всеми возможностями Eclipse, включая такие традиционные возможности, как автодополнение кода, визуализация структуры кода, генерация кода и мощный рефакторинг. На мой взгляд, единственным недостатком данной интегрированной среды разработки по сравнению с Code::Blocks является тяжеловесность. Она является крайне тяжеловесной, поэтому для ее полной загрузки требуется некоторое время. Но если ваша машина может достаточно быстро работать с ней или же вы являетесь фанатом Eclipse, эта интегрированная среда разработки будет отличным выбором.
3. Geany
Geany является более гибкой, но менее функциональной противоположностью Eclipse. При этом отсутствующие функции (например, отладчик) с лихвой компенсируются небольшими полезными инструментами: полем для добавления заметок, механизмом создания проектов из шаблонов, полем визуализации структуры кода, настраиваемыми горячими клавишами, а также инструментом для управления плагинами. Все-таки, Geany скорее можно назвать мощным текстовым редактором, а не интегрированной средой разработки. Однако, я включил ее в данный список из-за легковесности и отлично спроектированного интерфейса.
4. MonoDevelop
Еще одним монстром является MonoDevelop - интегрированная среда разработки с уникальными пользовательскими качествами, обусловленными ее внешним видом и интерфейсом. Лично мне нравятся ее встроенные инструменты для управления проектами и работы с системой контроля версий. Ее система плагинов также впечатляет. Но, по какой-то причине, все ее параметры конфигурации, а также поддержка множества языков программирования смущают меня. Данная интегрированная среда разработки остается отличным инструментом, который я использовал много раз в прошлом, но все же не может претендовать на первое место в том случае, если речь идет о работе с "простым" языком программирования C.
5. Anjuta
Интегрированная среда разработки Anjuta , отлично интегрированная с окружением рабочего стола GNOME, может вызывать противоречивые чувства. Я привык считать ее расширенной версией Geany с поддержкой отладчика, причем ее интерфейс является более продуманным. Мне нравится ее система вкладок, предназначенная для переключения между списком проектов, списком директорий и областью визуализации структуры кода. При этом мне хотелось бы использовать некоторые дополнительные горячие клавиши для перемещения в рамках файла. В общем, это отличный инструмент, позволяющий изменять множество параметров компиляции и сборки проекта, который может удовлетворить нужны самого требовательного разработчика.
6. Komodo Edit
Я не очень хорошо знаком с интегрированной средой разработки Komodo Edit , но после работы с ней в течение нескольких дней, у меня остались лишь положительные впечатления. Во-первых, ее интерфейс навигации на основе вкладок является достаточно практичным в любых ситуациях. Удобная область визуализации структуры кода очень напоминает аналогичную область интегрированной среды разработки Sublime Text. Более того, система макросов и инструмент сравнения файлов делают интегрированную среду разработки Komodo Edit очень практичной. А библиотека плагинов делает ее практически идеальной. Я использовал слово "практически", так как используемые в ней горячие клавиши показались мне не такими удобными, как в других интегрированных средах разработки. Кроме того, я хотел бы увидеть более специализированные инструменты для работы с кодом C/C++, но этот недостаток свойственен практически всем популярным интегрированным средам разработки. В любом случае, это очень удобный программный продукт.
7. NetBeans
Как и в случае Eclipse, достаточно сложно игнорировать данный монструозный программный продукт. Благодаря наличию вкладок для навигации по файлам проекта, области визуализации структуры кода, механизма отслеживания истории изменений и множества дополнительных полезных инструментов, NetBeans может считаться самой функциональной интегрированной средой разработки из существующих. Но это достоинство может расцениваться и как ее недостаток, причем значительный. Несмотря на наличие множества полезных функций, я предпочитаю использовать программное обеспечение, поддерживающее плагины, так как сомневаюсь, что кому-либо может потребоваться поддержка систем контроля версий Git и Mercurial при разработке одного и того же проекта. Можете считать меня сумасшедшим. Но если вам хватит терпения для того, чтобы разобраться со всеми ее параметрами, вы, скорее всего, разберетесь с любой из интегрированных сред разработки для любой из платформ.
8. KDevelop
Интегрированная среда разработки KDevelop может быть отличным решением для всех фанатов окружения рабочего стола KDE. Она поддерживает огромное количество параметров конфигурации, которыми вы можете воспользоваться при необходимости. Можете считать мое мнение субъективным, но мне никогда не нравился ее интерфейс. Кроме того, я не смог использовать ее для выполнения реальной работы из-за того, что в редакторе кода используется чрезмерное количество различных параметров навигации и изменяемых горячих клавиш. Отладчик также поддерживает чрезмерное количество параметров, поэтому для продуктивной работы с ним требуется продолжительная практика. Однако, в вашем случае все затраты времени наверняка компенсируются гибкостью и мощностью данной интегрированной среды разработки. Кроме того, просто нельзя обойти вниманием отличную документацию, поставляемую в комплекте.
9. CodeLite
Наконец, последняя в списке, но не по значению интегрированная среда разработки CodeLite наглядно демонстрирует то, что вы можете использовать традиционную формулу и получить не ее основе что-либо самобытное. Ее интерфейс напомнил мне интерфейс интегрированных сред разработки Code::Blocks и Anjuta, при этом я был просто поражен ее богатой библиотекой плагинов. Если вам понадобится найти различия в файлах, добавить в файл исходного кода информацию об авторском праве, определить аббревиатуру или разместить свою работу в репозитории Git, для вас найдется подходящий плагин. Если говорить о мелочах, следует отметить, что в данной интегрированной среде разработки отсутствуют некоторые, по моему мнению, полезные горячие клавиши для навигации по коду, при этом я не могу найти каких-либо дополнительных недоработок.
Я надеюсь, что благодаря данному списку вы узнаете о новых интегрированных средах разработки с поддержкой вашего любимого языка программирования. Хотя Code::Blocks и остается моей любимой интегрированной средой разработки, даже при работе с ней иногда возникают значительные трудности. Также следует отметить, что мы рассмотрели далеко не все инструменты, облегчающие процесс разработки программных компонентов на языках C/C++ в Linux. Вы можете сообщить о своем любимом инструменте в разделе комментариев. Если же вы хотите, чтобы я описал интегрированные среды разработки с поддержкой других языков программирования в следующих статьях, вы также можете написать об этом в разделе комментариев.
C ++, расширение хорошо известного языка C, является отличным, мощным и универсальным языком программирования, который предлагает современные и универсальные функции для разработки крупномасштабных приложений, начиная от видеоигр, поисковых систем, другого компьютерного программного обеспечения до операционных систем.
C ++ высоконадежен, а также обеспечивает низкоуровневое управление памятью для более сложных требований программирования.
Существует множество текстовых редакторов, которые программисты могут использовать для написания кода на C/C++, но IDE предлагают комплексные средства и компоненты для упрощения программирования.
В этой статье мы рассмотрим некоторые из лучших IDE, которые вы можете найти на платформе Linux для C++ или любого другого языка программирования.
Netbeans - это свободная и популярная кроссплатформенная IDE с открытым исходным кодом для C/C++ и многих других языков программирования. Его можно расширять с помощью плагинов, разработанных сообществом.
Она включает в себя типы проектов и шаблоны для C/ C++, и вы можете создавать приложения, используя статические и динамические библиотеки. Кроме того, вы можете повторно использовать существующий код для создания своих проектов, а также использовать функцию перетаскивания для импорта двоичных файлов в нее для создания приложений с нуля.
- поддержка автоматической упаковки скомпилированного приложения в .tar, .zip и многие другие архивные форматы;
- поддержка нескольких компиляторов, таких как GNU, Clang/LLVM, Cygwin, Oracle Solaris Studio и MinGW;
Code::Blocks - это бесплатная, расширяемая и настраиваемая, кроссплатформенная IDE C++, созданная для предоставления пользователям самых востребованных и идеальных функций.
И самое главное, вы можете расширить ее функциональность с помощью плагинов, разработанных пользователями, некоторые из них являются частью Code::Blocks, а многие написаны отдельными пользователями, не входящими в группу разработчиков Code::Block.
- поддержка нескольких компиляторов, включая GCC, clang, Borland C ++ 5.5, digital mars и многих других;
- настраиваемый и расширяемый интерфейс, а также множество других функций, в том числе добавленных с помощью пользовательских плагинов.
Eclipse - это хорошо известная кроссплатформенная IDE с открытым исходным кодом. Она предлагает пользователям отличный графический интерфейс с поддержкой функции перетаскивания для удобного расположения элементов интерфейса.
Eclipse CDT - это проект, основанный на базовой платформе Eclipse, и он предоставляет полнофункциональную C/C++ IDE со следующими возможностями:
CodeLite - это также бесплатная кроссплатформенная IDE с открытым исходным кодом, разработанная и созданная специально для программирования на C/C ++, JavaScript (Node.js) и PHP.
- RAD (Rapid Application Development) инструменты для разработки приложений на основе wxWidgets, а также множество других функций.
Bluefish - это больше, чем просто обычный редактор, он предлагает программистам функции IDE для разработки веб-сайтов, написания скриптов и программного кода. Он мультиплатформенный, работает на Linux, Mac OSX, FreeBSD, OpenBSD, Solaris и Windows, а также поддерживает многие языки программирования, включая C/C++.
- поддержка интеграции ваших собственных внешних фильтров с использованием таких команд, как awk, sed, sort плюс пользовательские скрипты;
Brackets - это современный текстовый редактор с открытым исходным кодом, разработанный специально для веб-дизайна и разработки. Он легко расширяется с помощью плагинов, поэтому программисты C/C++ могут использовать его, установив пакет расширения C/C++/Objective-C. Этот пакет предназначен для улучшения написания кода на C/C++, и предлагает функции, подобные IDE.
Atom также является современным мультиплатформенным текстовым редактором с открытым исходным кодом, который может работать в Linux, Windows или Mac OS X. Он также может быть хакнут до самого основания, поэтому пользователи могут настроить его под свои требования.
Sublime Text - это хорошо проработанный мультиплатформенный текстовый редактор, разработанный для написания кода, разметки и и обычных текстов. Вы можете использовать его для написания кода на C/C ++, и он предлагает отличный пользовательский интерфейс.
CLion - это несвободная, мощная и кроссплатформенная IDE для программирования на C/C++. Это полностью интегрированная среда разработки C/C++ для программистов, предоставляющая Cmake в качестве модели проекта, встроенное окно терминала и ориентированный на клавиатуру подход к написанию кода.
Она также предлагает интеллектуальный и современный редактор кода, а также множество других интересных функций, позволяющих создать идеальную среду для написания кода, и эти функции включают:
Visual Studio - это богатая, полностью интегрированная, кроссплатформенная среда разработки, которая работает в Linux, Windows и Mac OS X. Недавно она стала открытой для пользователей Linux и пересмотрела редактирование кода, предлагая пользователям все инструменты, необходимые для создания любого приложения для нескольких платформ, включая Windows, Android, iOS и интернет.
Это полнофункциональный редактор с функциями, относящимися к категории разработки приложений, управления жизненным циклом приложений, а также расширениями и интеграцией функций. Вы можете прочитать полный список функций на веб-сайте Visual Studio.
KDevelop - это еще одна бесплатная кроссплатформенная IDE с открытым исходным кодом, которая работает в Linux, Solaris, FreeBSD, Windows, Mac OSX и других Unix-подобных операционных системах. Она основана на библиотеках KDevPlatform, KDE и Qt. KDevelop легко расширяется с помощью плагинов и обладает множеством замечательных функций:
Geany - это бесплатная, быстрая, легкая и кроссплатформенная IDE, разработанная для работы с несколькими зависимостями, а также для работы независимо от популярных настольных систем Linux, таких как GNOME и KDE. Для работы требуются библиотеки GTK2.
Anjuta DevStudio - это простая, но мощная среда разработки программного обеспечения для GNOME, которая поддерживает несколько языков программирования, включая C/C ++.
Она предлагает расширенные инструменты программирования, такие как управление проектами, дизайнер GUI, интерактивный отладчик, мастер приложений, редактор исходного кода, управление версиями, а также множество других средств. В дополнение к вышеперечисленным функциям, Anjuta DevStudio также включает некоторые другие замечательные возможности IDE:
- редактор исходного кода с такими функциями, как подсветка синтаксиса, интеллектуальные отступы, автоиндентирование, свертывание/скрытие кода, масштабирование текста и многое другое.
GNAT Programming Studio - это бесплатная и простая в использовании IDE, разработанная для унификации взаимодействия между разработчиком, его/ее кодом и программным обеспечением.
Создана для идеального программирования, облегчая навигацию по источникам и выделяя важные разделы и идеи программы. Она также предназначена для обеспечения высокого уровня удобства программирования, позволяя пользователям разрабатывать сложные системы с нуля.
Это несвободная кроссплатформенная среда разработки, предназначенная для создания подключаемых устройств, пользовательских интерфейсов и приложений. Qt creator позволяет пользователям делать больше, чем собственно кодирование приложений.
Его можно использовать для создания мобильных и десктопных приложений, а также подключаемых встроенных устройств.
Emacs - это бесплатный, мощный, расширяемый и настраиваемый кроссплатформенный текстовый редактор, который вы можете использовать в Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Windows и Mac OS X.
Ядро Emacs также является интерпретатором для Emacs Lisp, который является диалектом языка программирования Lisp. На момент написания этой статьи последняя версия GNU Emacs - это версия 24.5, а основные особенности Emacs включают:
- экосистема функций помимо обычного редактирования текста, включая планировщик проекта, почту, календарь и программу чтения новостей, а также многое другое;
SlickEdit (ранее Visual SlickEdit) - это отмеченная наградами коммерческая кроссплатформенная IDE, созданная для того, чтобы программисты могли программировать на 7 платформах на более чем 40 языках. SlickEdit, уважаемая за ее многофункциональный набор инструментов программирования, позволяет пользователям быстрее кодировать с полным контролем над своей средой.
Vim, улучшенная версия редактора VI, это бесплатный, мощный, популярный и легко настраиваемый текстовый редактор. Он создан для обеспечения эффективного редактирования текста для пользователей Unix/Linux, поэтому он также является хорошим вариантом для написания и редактирования кода C/C++.
1 комментарий:
Очень хорошая статья! Большой выбор и лучше представление об IDE и текстовых редакторах.
-
2. Eclipse один из лучших инструментов, доступных под Linux, Windows, и OS X. Родившись как проект IBM Canada project в 2001 году, он стал свободным софтом.
Плюсы
- Бесплатность
- Плагины (невероятно много)
- Рефакторинг (не слишком крутой, правда)
- Автоподстановка любых идентификаторов
- Встроенная поддержка Doxygen
- Возможность отладки через GDB
- Кроссплатформенность
-
— кроссплатформенное IDE с поддержкой множества языков: Java, JavaScript, PHP, Python, Ruby, C, C++, Scala, и многих других.
Плюсы
- Бесплатность;
- Плагины;
- Рефакторинг;
- Автоподстановки методов, классов;
- Возможность отладки, включая удалённую;
- Кроссплатформенность.
Минусы
- Недостаточная поддержка разных видов сборки;
- Требует установку и подключение нескольких компиляторов.
Довольно долго работал в этой среде на winXP, win7, но после перехода на Ubuntu разбираться во всех премудростях и плагинах не особо хотелось. В то время нужна была комфортная среда разработки. Но если не много посидеть и разобраться, то довольно неплохая среда.
4.Anjuta — средство разработки специально для C и C++. Оно не кроссплатформенное, но отлично интегрируется со средой GNOME, а соответственно с Ubuntu.
Возможности Anjuta: менеджер проектов, мастера, интерактивный дебаггер, автозавершение кода.
Легкая в использовании и отлично выглядит на Ubuntu. Регулярные обновления + возможность сразу начать писать код на С и С++.
-
— кроссплатформенная свободная IDE для разработки на С, С++ и QML.
Плюсы
- Бесплатность;
- Плагины;
- Рефакторинг;
- Возможность отладки;
- Кроссплатформенность.
Минусы
В отличие, скажем, от KDevelop, Qt Creator в качестве стандартного файла проектов не изобретает новый формат, а использует знакомый Qt-программистам pro-файл — тот самый, который надлежит передавать утилите qmake. Особые настройки проекта, касающиеся самой среды разработки, сохраняются в файл, имеющий то же имя, что проект, но с добавлением в конец слова «user».Qt Creator — это мощная среда разработки. Не смотря на все вышеперечисленное, эту среду трудно назвать «зрелой» — уж больно скоро в ней все меняется.
Каждая среда поддерживает подсветку синтаксиса.
Если нету возможности установить тяжелые редакторы или нету желания то можно воспользоваться текстовыми редакторами такими как — Geany, Vim, или Emacs.
Добрый день. Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux. Я попробую здесь показать прямое руководство к действию на примере тех простых инструментов, которые использовал некогда сам при изучении Си в процессе знакомства с Linux. На самом деле, с теми или иными поправками, это руководство можно использовать в большинстве дистрибутивов. Руководство однозначно подходит для всех deb-based дистрибутивов.
С установкой ОС, как я полагаю, проблем у Вас уже не возникло. Этому процессу посвящены просто тысячи статей на профильных сайтах.
Итак: у Вас сейчас установлен дистрибутив ОС, как говорится, "из коробки". Перед глазами пособие для разработчика/учебник/просто_хорошая_книга по "Языку программирования Си". И никакой вменяемой, полноценной подробной информации о том, как же собственно откомпилировать и выполнить, написанный в книге, исходный код. Быстрый осмотр тематических ресурсов уже показал Вам, что, необходимо установить компилятор Си, запустить его с нужными параметрами и потом запустить компилированный бинарный код. Примерно с этого момента мы и начнём.
Установка компилятора
Я имею ввиду, что Вы скорее всего (бывший) пользователь ОС Windows и действия в чёрном/синем окошке при помощи клавиатуры оканчивались где-то на команде ping, кажутся неким таинством. Однако отмечу, что всё банально просто и текстовой интерфейс предоставляет намного более гибкие возможности (скорее всего Вы неоднократно Вы слышали это ранее). Приступим:
Я подразумеваю, что с понятием компиляции и о том что такое компилятор Вас уже познакомила правильная книга.
На этом этапе всё будет очень быстро и просто. Открываем терминал и пишем:
(На всякий случай: вставка в gnome-terminal ctrl+shift+v)
Сразу поясню, что текст слева от курсора - это приглашение командного интерпретатора и оно выглядит следующим образом:
Далее я буду указывать только команды интерпретатору без приглашения.
Данная строка "говорит" интерпретатору: "от имени суперпользователя запустить менеджер пакетов для установки пакета gcc".
Система попросит Вас ввести пароль суперпользователя и приступит к установке компилятора.
Если же он уже установлен, то менеджер пакетов apt просто укажет на это примерно следующим образом:
Установка редактора
Обычно с дистрибутивом Ubuntu поставляется весьма интересный текстовой редактор gedit . Однако в других дистрибутивах возможно придётся установить этот редактор:
Создание файла с исходным кодом
Теперь пришло то самое время нашего классического "hello world"! Давайте сделаем это в стиле linux. Просто наберите в консоли:
Более подробно Вы обязательно прочитайте в профильных ресурсах и в документации, я только отмечу, что символ "тильда" возвращает полный путь к домашнему каталогу пользователя ОС. Соответственно будет создан файл в вашем домашнем каталоге с указанным именем.
И далее наш программный код на языке Си в редакторе:
(Стоит отметить, что в редакторе gedit есть подсветка синтаксиса для различных языков программирования. Переключить режимы подсветки можно в нижней части окна редактора.)
Не забываем сохранить изменения нажатием ctrl+s. Обратите внимание, что вопросов об имени файла не последовало, так как имя было уже указано параметром при запуске редактора из командной строки терминала.
Компиляция и запуск
Закрываем окно редактора нажатием Alt+F4 и запустим же то сокровенное ради чего все тут и собрались:
И в ответ только новое приглашение. В отличие от стиля в ОС Windows, когда консоль, жутко подробно по-умолчанию, комментирует выполняемые действия - большинство программ в ОС семейства *nix сообщают только об исключительных ситуациях, ошибках и тому подобных вещах. То есть если "в ответ тишина" - то всё прошло хорошо.
Теперь в домашнем каталоге у нас появился файл a.out - он и есть файл с исполнимым кодом.
Для запуска этого файла на исполнение - назначим ему атрибут: "исполнимый":
и теперь запустим получившееся приложение:
(Для запуска исполнимого файла интерпретатору требуется указать полный путь к файлу. Как в случае с "тильдой" символ "точка" возвращает полный путь к текущему каталогу. В данном конкретном случае правомерно так же запустить через ~/a.out Это не имеет значения здесь, так как файл создан в домашнем каталоге пользователя.)
И мы получаем вывод в терминале:
Для выполнения всех повторных действий: изменение кода и снова компиляция, - Вы можете не вводить все эти команды каждый раз заново, а использовать стрелки вверх и вниз, для быстрого выбора команд из истории. И, кстати, вывод списка истории всех введённых команд можно выполнить командой (на самом деле программой) history .
Минутка автоматизации
Теперь приступим к очень интересному моменту связанному с творчеством в духе *nix. Каждый раз вводить много скучных команд неинтересно, возможно, даже вредно. Мы расширим функционал редактора gedit и доработаем его "напильником" до состояния примитивной среды разработки: запустим gedit и откроем меню параметров,
Главное меню gedit
где на вкладке "Расширения" добавляем "Внешние инструменты"
"Настройки" - "Расширения"
И затем, из того же главного меню gedit выбираем "Управление внешними инструментами".
"Управление внешними инструментами"
Как Вы уже поняли - здесь можно выполнить доработку функциональности текстового редактора. Создадим новый инструмент: "Компиляция и запуск", В качестве вывода используем нижнюю область редактора. Инструмент назначим для файлов C и C++. Назначим клавишу F5 (дело вкуса) на применение инструмента и собственно сам код инструмента в виде скрипта bash:
Разберёмся в том, что тут происходит:
gcc -o a.out $GEDIT_CURRENT_DOCUMENT_NAME - здесь мы запускаем компилятор, где в параметре -o указываем имя выходного файла. Пускай он будет таким же как и по-умолчанию.
$GEDIT_CURRENT_DOCUMENT_NAME - через эту переменную gedit передаёт имя файла.
Дальше Вы уже знаете - назначение атрибута "исполнения", запуск файла и потом:
rm ./a.out - удаление созданного исполнимого файла.
Попробуем инструмент в деле:
Теперь можно продолжать изучать пособие для разработчика/учебник/просто_хорошую_книгу по "Языку программирования Си" на практике.
Заключение
На самом деле в ОС Linux полно возможностей по доработке и использованию различного ПО. Само ПО является максимально гибким. Необязательно использовать предложенные мною средства, скорее методы, разработки.
В дальнейшем Вам обязательно понадобятся более серьёзные средства. А на первое время Вы можете дополнительно посмотреть другие редакторы, вплоть до больших и серьёзных сред разработки. Однако обязательно обратите внимание на редактор vim.
Без надёжных инструментов разработки вы не сможете воспользоваться лучшими преимуществами Linux. К счастью, Linux и открытое инструментальное программное обеспечение легко доступно. Однако, если вы новый пользователь, вы можете не знать, какие утилиты лучше выбрать, так что вот 10 выдающихся инструментов, которые помогут поднять вашу разработку на другой уровень.
1. Bluefish
Bluefish — одна из популярнейших интегрированных сред разработки, доступных для работы в вебе. Bluefish может обрабатывать языки программирования и языки разметки, но фокусируется на создании динамических и интерактивных веб-сайтов. Как и многие приложения для Linux, Bluefish быстр и лёгок — он использует примерно 30‒40 процентов ресурсов, потребляемых аналогичными приложениями.
Bluefish может открывать несколько документов одновременно: до 3 500 документов, если необходимо. Он включает в себя поддержку проекта, удалённую поддержку файлов, поиск и замену (включая регулярные выражения), неограниченную отмену/принятие сделанных изменений, настраиваемую подсветку синтаксиса для многих языков, сглаживание текста в окнах, а также поддержку различных кодировок.
Одной из лучших особенностей Bluefish является Quickbar — пользовательская панель, которая позволяет вам добавлять кнопки путём кликания по правой клавише мыши и выбора пункта «Добавить в Quickbar» (Add To Quickbar). Вы можете добавлять в Quickbar любую HTML-кнопку.
В Bluefish есть ряд простых инструментов, которые помогут вам добавить различные элементы в ваш код. Нужен auto-submit select box в DHTML? Легко. Выберите «Auto-submit Select Box» из выпадающего списка «DHTML» и заполните необходимые пункты для добавления элемента в ваш код. В Bluefish есть мастера для Си, Apache, DHTML, DocBook, HTML, PHP+HTML и SQL. Если вы разрабатываете свои сайты вручную, то без Bluefish вам не обойтись.
2. Anjuta
Anjuta — свободная открытая интегрированная среда разработки для языков Си и C++. Anjuta мощна и проста в установке (например, команда urpmi anjuta в Mandriva Linux). Anjuta предлагает такие функции, как управление проектами, прикладные мастера, интерактивный отладчик и мощный редактор исходного кода — с просмотром кода, его автозаполнением и подсветкой синтаксиса.
Anjuta имеет гибкий интерфейс пользователя, который позволяет вам перемещать (drag-and-drop) инструменты в набор инструментов для организации интерфейса пользователя в вариант, который вам больше нравится. Плюс каждый размещённый пользователем набор инструментов постоянен для проекта, так что вы можете иметь различные наборы инструментов для каждого проекта.
Anjuta также имеет мощную систему плагинов, которая позволяет вам решать для каждого проекта какие плагины активны, а какие — нет. И, как во всех открытых проектах, вы можете сами разработать свои плагины для Anjuta.
Одним из самых мощных инструментов в Anjuta является менеджер проекта. Он не только может открывать почти все проекты, основанные на Automake и Autoconf; он не добавляет никакой информации, связанной с Anjuta, так что ваш проект также может обслуживаться и разрабатываться вне Anjuta.
3. Glade
Glade — это RAD-инструмент, используемый для создания инструментария GTK+ и для среды рабочего стола GNOME. Его интерфейс подобен GIMP и может быть настроен и даже встроен в Anjuta.
Glade включает в себя ряд шаблонов, таких как текстовые блоки, диалоги, чекбоксы и меню, созданных для ускорения разработки интерфейсов. Конструкции интерфейса хранятся в XML, который позволяет им быть легко связанным со внешними инструментами.
Установка Glade проста. Например, в Fedora вы можете запустить команду yum install glade3 . В Glade нет такого мощного менеджера проекта как в Anjuta, но вы можете создавать, редактировать и сохранять проекты с Glade.
4. GCC
GCC — это набор компиляторов для Си, C++, Objective-C, Фортрана, Java и Ады, разработанный в рамках проекта GNU. Это инструмент командной строки, но он очень мощен. Многие интегрированные среды разработки имеют инструменты, которые являются только front-end’ами для GCC. Наиболее часто используются компиляторы для кода на Си и C++.
Как один инструмент компилирует приложения на разных языках? Просто: для Си вы применяете команду gcc, а для C++ вы применяете команду g++ — два компилятора в одном инструментарие. И g++ — компилятор, а не просто препроцессор.
GCC построит объектный код из исходного кода без использования посредника. Этот метод создаёт лучший объектный код и даёт вам больше отладочной информации.
5. Kdevelop
Kdevelop был создан в 1998 году как простая в использовании интегрированная среда разработки для среды рабочего стола KDE. Kdevelop в настоящее время распространяется под лицензией GNU General Public License и свободен для использования.
Он основан на плагинах, так что вы можете добавлять и удалять их для создания точно того, что вы хотите. Kdevelop также включает в себя поддержку профилей, так что различные наборы плагинов могут быть ассоциированы с конкретными проектами.
Kdevelop поддерживает 15 языков программирования, каждый из которых имеет свои языковые особенности. Он также предлагает отладчик, систему управления версиями Subversion, мастера приложений, просмотрщик документации, управление сниппетами, интеграцию Doxygen, инструменты RAD, поддержку Ctags, переформатирование кода, поддержку QuickOpen и панель окон с панелью инструментов.
Одной из лучших особенностей Kdevelop является то, что он снимает множество низкоуровневых задач из рук пользователей. Kdevelop включает в себя менеджер Automake.
6. GDB
GDB не является инструментом для разработчиков, но этот инструмент многие разработчики считают для себя важным. GDB — это отладчик проекта GNU.
- запускать ваше приложение с указанием аргументов, переключателей или вводов, которые будут влиять на его поведение;
- заставлять ваше приложение останавливаться на конкретном поведении;
- проверять что произошло, когда ваше приложение остановилось;
- добавлять изменения в вашу программу, так что вы можете тестировать прямо в полёте.
7. KompoZer
KompoZer — простой в использовании WYSIWYG-инструмент, направленный на нетехнических пользователей, которые хотят создать профессиональный веб-сайт без знания HTML.
KompoZer имеет ряд выдающихся особенностей. Одной из лучших особенностей является возможность открыть веб-сайт из URL, редактировать этот сайт и загрузить отредактированный сайт. Эта особенность упрощает обновление сайтов, лишая необходимости редактировать HTML. Конечно же, вам потребуется разрешение на загрузку сайта. Эта особенность также хороша для использоваия других сайтов в качестве шаблонов.
KompoZer не следует рассматривать только как инструмент для начинающих. Думайте о нём как о бесплатной открытой замене Microsoft FrontPage и Adobe Dreamweaver. И, как его более дорогостоящие альтернативы, в KompoZer можно перемещаться между WYSIWYG и редактированием кода путём кликания по табу.
8. Eclipse
Eclipse — мультиязычная интегрированная среда разработки, написанная на Java, с обширной системой плагинов, позволяющей вам расширить функциональность. Скачиваемый более миллиона раз ежемесячно, Eclipse — одно из сильнейших решений в области разработки программного обеспечения. Это, по сути, стандарт для открытой разработки.
Предположительно, сильнейшим аспектом Eclipse является особенность плагинов. Только для языков в Eclipse создано 58 плагинов. На этих языках не говорят — это языки разработки. Eclipse имеет огромное сообщество и множество организаций, предлагающих обучение интегрированным средам разработки, которое включает в себя даже университет Eclipse.
9. Make
Make — это утилита Linux, которая может автоматически определить, какие части программы нужно перекомпилировать. После того, как Make работает в частях, которые должны быть перекомпилированы, он выдаёт команды, необходимые для завершения действия.
Make часто используется при установке приложений из исходного кода, так что разработчики открытых приложений должны иметь хорошее представление об этом инструмение и о том, как он используется. Если вы планируете разработку приложения, которое можно будет установить из исходного кода, вам нужно знать как создавать Makefile.
Этот Makefile описывает отношения между разными файлами. Если вы знакомы с установкой приложений, вы знаете строковый тип ./configure; make; make install.
10. Quanta Plus
Quanta Plus — другой инструмент HTML для разработки, похожий на KompoZer. Он способен как на WYSIWYG, так и на ручной режим и поддерживает HTML, XHTML, CSS, XML и PHP.
Особенности Quanta Plus заключаются в завершении тегов на лету, управлении проектами, быстром предварительном просмотре, отладчике PHP, поддержке CVS и Subversion. Quanta Plus, в отличие от KompoZer, направлен на более опытного пользователя, который хочет хороший редактор WYSIWYG.
А что используетет вы?
Какие советы и мнения вы можете дать, основываясь на своём опыте, по инструментам, которые мы рассмотрели? Или у вас есть любимая свободная интегрированная среда разработки, которая не включена в этот список?
Читайте также: