5 лучших ide для программирования на с и с++
Содержание:
- Компилятор GCC. Первая программа на Windows
- What’s New in CLion 2021.2
- Лидеры
- NetBeans IDE
- Komodo
- AMD x86 Open64 Compiler Suite
- Интерпретатор C / C++ Ch Embeddable (стандартная версия)
- Integrated debugger
- Geany
- История среды разработки
- Eclipse
- Особенности среды разработки KDevelop
- Fully Integrated C/C++ Development Environment
- Xcode
- Smart C and C++ editor
- IntelliJ IDEA
- Web based IDE
Компилятор GCC. Первая программа на Windows
Последнее обновление: 18.05.2017
Для создания программ на Си необходим текстовый редактор, с помощью которого можно набрать исходный код. И также необходим компилятор,
который принимает файл с исходным кодом на Си и компилирует его в исполняемый файл.
При запуске установщика откроется следующее окно:
Нажмем на кнопку Next > и перейдем к следующему шагу:
Если версия ОС 64-битная, то в поле следует выбрать пункт x86_64. Остальные настройки
оставим по умолчанию и нажмем на кнопку Next >. На следующем шаге укажем путь, по которому будет устанавливаться пакет:
Можно оставить настройки по умолчанию. И после перехода к следующему шагу собственно начнется установка.
После завершения установки на жестком диске по пути, которое было выбрано для установки, появятся все необходимые файлы компиляторов.
В моем случае они находятся по пути C:\Program Files (x86)\mingw-w64\i686-7.1.0-posix-dwarf-rt_v5-rev0\mingw32\bin:
В зависимости от версии пакета точный путь может отличаться, но в любом случае все файлы будут располагаться по тому пути, который был указан на шаге установки.
В частности, файл gcc.exe как раз и будет представлять компилятор для языка Си.
Далее для упрощения запуска компилятора мы можем добавить путь к нему в Переменные среды. Для этого перейдем к окну
Система -> Дополнительные параметры системы -> Переменные среды:
И добавим путь к компилятору:
Итак, компилятор установлен, и теперь мы можем написать первую программу. Для этого потребуется любой текстовый редактор для набора исходного кода.
Можно взять распространенный редактор Notepad++ или даже обычный встроенный Блокнот.
Итак, создадим на жестком диске папку для исходных файлов. А в этой папке создадим новый файл, который назовем hello.c.
В моем случае файл hello.c находится в папке C:\c.
Теперь определим в файле hello.c простейший код, который будет выводить строку на консоль:
#include <stdio.h> // подключаем заголовочный файл stdio.h int main(void) // определяем функцию main { // начало функции printf("Hello World! \n"); // выводим строку на консоль return 0; // выходим из функции } // конец функции
Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка
#include <stdio.h>
Директива include подключает заголовочный файл stdio.h, который содержит определение функции printf, которая нужна для вывода строки на консоль.
Далее идет определение функции int main(void). Функция main должна присутствовать в любой программе на Си, с нее собственно и начинается
выполнение приложения.
Ключевое слово int в определении функции говорит о том, что функция возвращает целое число.
А слово void в скобках указывает, что функция не принимает параметров.
Тело функции main заключено в фигурные скобки {}. В теле функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка «Hello world!».
В конце осуществляем выход из функции с помощью оператора return. Так как функция должна возвращать целое число, то после return указывается число 0.
Ноль используется в качестве индикатора успешного завершения программы.
После каждого действия в функции ставятся точка с запятой.
Теперь скомпилируем этот файл. Для этого откроем командную строку Windows и вначале с помощью команды cd перейдем к папке с исходным файлом:
cd C:\c
Чтобы скомпилировать исходный код, необходимо компилятору gcc передать в качестве параметра файл hello.c:
gcc hello.c
После этого будет скомпилирован исполняемый файл, который в Windows по умолчанию называется a.exe. И мы можем обратиться к этому файлу, и в этом случае консоль выведет
строку «Hello World!», собственно как и прописано в коде.
НазадВперед
What’s New in CLion 2021.2
Updates for CMake and Makefiles
For CMake users, CLion 2021.2 automatically detects and imports CMake Build Presets. For Makefile users, it recognizes GNU Autotools projects, automatically executes preconfiguration steps, and loads projects.
Debugger enhancements
CLion 2021.2 introduces Relaxed breakpoints and brings breakpoints to the disassembly view. LLDB remote debugging is now supported. And Windows users can benefit from enhanced Natvis support and support for minidumps.
Memory safety as you type
Diagnose common cases of dangling pointers and escaping from a local scope by using CLion’s static analysis. Optionally, use GSL annotations to mark the code and make local analysis more accurate.
Лидеры
Лидеры моего внутреннего рейтинга. На основе развития за все годы существования этой заметки.
-
https://wandbox.org/
- Мой фаворит
- Плюсы:
- Самые свежие версии компиляторов (см. ниже) и, соответственно, самые свежие версии стандартов.
- Gcc/Clang/Zapcc на выбор и много вариантов версий
- Удобный выбор версий стандарта (C++)
- Доступен Boost разных версий и дополнительные библиотеки типа Sprout и MessagePack
- Можно задать дополнительные опции компилятору (“Compiler options”)
- Уже можно задать опции командной строки для приложения (“Runtime options”)
- Можно передать программе STDIN
- Можно создавать дополнительные текстовые файлы (например для программ, читающих из файлов). При этом, можно хитро извернуться и использовать WandBox как IDE: эти файлы могут быть исходниками,
проосто печислите их в параметрах компилятора 😉 - Несколько языков
- Можно шарить код
- Автоматически сохраняет код между запусками браузера
- Быстрый запуск по Ctrl+Enter
- Минусы
-
http://coliru.stacked-crooked.com
- Плюсы:
-
C++17, можно указать для pre-C++20
-
Последняя версия компилятора
-
Можно выбрать компилятор (по крайней мере gcc 4.6 там есть)
-
Можно задать параметры сборки
-
Автоматически сохраняет код между запусками браузера
-
Можно использовать для шаринга кода (внизу кропка Share)
-
Можно передать параметры программе через аргументы командной строки
-
Можно передать программе STDIN используя трюк Shell:
-
Много шоркатов
-
- Минусы:
- Неудобно выбирать копилятор — только методом перебора 🙂
- Язык только (?) C/C++
- Плюсы:
-
http://gcc.godbolt.org/ — тут укажу один минус сразу: он только компилирует, но не выполняет код и отображает ассемблерный листинг, что удобно для анализа всяких оптимизаций.
- Плюсы:
- Много разных компиляторов и их версий: gcc (4.4-4.8), arm-gcc (4.5-4.6), avr-gcc (4.5), mps430-gcc (4.5), clang (3.0), icc (13.0.1)
- Показывает ассемблерный выход
- Можно задать параметры компиляции
- Можно шарить код
- Мегатулза для анализа сгенерированного кода
- Минусы:
- Плюсы:
NetBeans IDE
It provides various services which are impeccable and class apart from any other IDEs. It has one of the best remote development, best compiler configuration, and a C++ 11 Support system which provides protection during any software crash and provides backup for the lost code.
The major attractive features are:
- It can create as well as run C++ tests from within.
- It has a Qt toolkit support
- It has features for source inspection
- It has a code assistance feature
- It has options for multiple compilers such as GNU, Cygwin, Oracle Solaris Studio
- It can automatically archive compiled files into .zip files.
- It also has advanced debugger tools like GNU GDB Debugger tool.
Platforms:- Windows, Mac and Linux
Komodo
Предлагает бесплатную 21-дневную ознакомительную версию, полная версия стоит $99 – $1615 в зависимости от редакции и лицензии. Komodo поддерживает большинство основных языков программирования. Удобный интерфейс позволяет осуществлять расширенное редактирование, а небольшие полезные функции, такие как проверка синтаксиса и одноступенчатая отладка, делают Komodo одной из самых популярных IDE для веб и мобильной разработки.
Поддерживаемые языки: CSS, Go, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby, Tcl и другие.
Особенности:
- Настраиваемый многооконный интерфейс;
- Интеграция контроля версий для Bazaar, CVS, Git, Mercurial, Perforce и Subversion;
- Профилирование кода Python и PHP;
- Возможность развертывания в облаке благодаря Stackato PaaS;
- Графическая отладка для NodeJS, Perl, PHP, Python, Ruby и Tcl;
- Автоматическое заполнение и рефакторинг;
- Стабильная производительность на платформах Mac, Linux и Windows
Недостатки: бесплатная версия среды разработки программного обеспечения не включает в себя все функции. В то же время премиум версия явно стоит своих денег.
AMD x86 Open64 Compiler Suite
Это версия набора компиляторов Open64 (описанного ниже), которая была настроена для процессоров AMD и имеет дополнительные исправления ошибок. Компилятор C / C++ соответствует стандартам ANSI C99 и ISO C++ 98, поддерживает межъязыковые вызовы (так как он включает в себя компилятор Fortran), 32-битный и 64-битный код x86, векторную и скалярную генерацию кода SSE / SSE2 / SSE3, OpenMP 2.5 для моделей с разделяемой памятью, MPICH2 для моделей с распределенной и разделяемой памятью; содержит оптимизатор, поддерживающий огромное количество оптимизаций (глобальную, цикл-узел, межпроцедурный анализ, обратную связь) и многое другое. Набор поставляется с оптимизированной AMD Core Math Library и документацией. Для этого набора компиляторов требуется Linux.
Интерпретатор C / C++ Ch Embeddable (стандартная версия)
Интерпретатор C / C++, поддерживающий стандарт ISO 1990 C (C90), основные функции C99, классы C++, а также расширения к языку С, такие как вложенные функции, строковый тип и т. д. Он может быть встроен в другие приложения и аппаратные средства, использоваться в качестве языка сценариев. Код C / C++ интерпретируется напрямую без компиляции промежуточного кода. Поскольку этот интерпретатор поддерживает Linux, Windows, MacOS X, Solaris и HP-UX, созданный вами код можно перенести на любую из этих платформ. Стандартная версия бесплатна для личного, академического и коммерческого использования. Для загрузки пакета необходимо зарегистрироваться.
Integrated debugger
Investigate and solve problems with ease in CLion’s friendly debugger,
with GDB or LLDB available as the backend.
Attach to local processes or debug remotely. For embedded development,
rely on OpenOCD and Embedded GDB Server configurations to do on-chip debugging with CLion.
Dive deeper with disassembly and memory views, and peripheral view for embedded devices.
Set breakpoints
Use line, symbol, exception, and conditional breakpoints to inspect
your code’s execution. Log the events, remove breakpoints once hit,
or disable them until another one is hit. All of this can be configured
in a dedicated dialog.
Evaluate expressions
Make use of the Watches and the Variables views, or evaluate the result
of a function call or some complicated expression when stopping at some execution point.
View values inline
Get a full view of your project with variables’ values shown right in the editor
as you debug – with no need to switch to the Variables tab in the Debug tool window!
Geany
- It has inbuilt set up to compile and run user codes.
- It is extensible with the help of plugins
- It has a symbol list and symbol name auto completion
- It has enablement of code navigation and call tips.
- It also has support for syntax highlighting.
Platforms:- Windows, Mac and Linux
Frequently Asked Questions:
- Which are the top three C++ IDEs to be used for cross platform usage?
Ans- Out of all the above mentioned options the three best C++ IDE to be used as per compatibility with the system and also related to system configuration and coding abilities and skills are:-
- Visual Studio
- Code:Blocks
- Eclipse CDT
- What are the available options for beginners and which platform to choose?
Ans- For any beginner coder, it is easier to start from Visual Studio and thereby progress to other IDE but it is also advantageous to initially get set with Eclipse CDT, though it seems difficult at start but with continued practice, it becomes easier to build on it.
Final Words
Thus after the much elaborate discussion on integrated development environment it is pertinent to note that the market provides us with major varieties of options and the software industry with its ever increasing and innovating ways always surprises the user. Thus it is better to go for an advanced tool to begin with in order to save money and time and also get better hands on experience on professional working tools which can be upgraded later for major uses.
Thus to sum up, it is preferable to use multi language supporting platforms like Eclipse and NetBean which provides extensive features and also does not restrict the user to one particular language but rather gives wide choices as per the convenience and given operating system.
История среды разработки
KDevelop 0.1 была выпущена в 1998 году, а 1.0 в конце 1999 года. 1.x и 2.x были разработаны в течение четырех лет с момента первоначальной кодовой базы.
Считается, что именно Сэнди Мейер породил среду разработки KDevelop. Ральф Нольден также известен как один из ранних разработчиков проекта. В 1998 году Сэнди Мейер начал KDevelop и работал 8 недель в одиночку над этим проектом. С тех пор, KDevelop IDE является общедоступным под GPL и поддерживает многие языки программирования.
Бернд Германн приступил к полной переписке и анонсировал KDevelop 3.x в марте 2001 года. Его первый релиз был выпущен вместе с K Desktop Environment 3.2 в феврале 2004 года и разработка KDevelop 3.x продолжалось до 2008 года.
KDevelop 4.x, еще одна попытка полностью переписать на более объектно-ориентированной модели программирования, велась разработка с августа 2005 года и выпущена как KDevelop 4.0.0 в мае 2010 года. Последнее обновление функции этой ветви была версия 4.7.0 в сентябре 2014 года, исправления ошибок релизов продолжались до KDevelop 4.7.4 в декабре 2016 года.
Разработка KDevelop 5 началась в августе 2014 года как продолжение 4-ой кодовой базы, портированная на фреймворки Qt5 и KDE 5. Пользовательский синтаксический анализатор C++, используемый в более ранних версиях, который имел плохую поддержку синтаксиса C++, был заменен новым бэкэндом на основе Clang. Интегрированный интерпретатор CMakeFile также был удален в пользу метаданных JSON, созданных вышестоящим инструментом CMake.
Семантическая языковая поддержка была добавлена для QML и JavaScript, используя парсер от Qt Creator, наряду с qmake project-manager backend.
Первая 5.x релиз был выпущен в августе 2016 года KDevelop 5.0.0. В октябре 2016 года впервые были выпущены официальные сборки Microsoft Windows.
Eclipse
Среда программирования C (поддерживающая и многие другие языки программирования) с открытым исходным кодом. Этот инструмент может оказаться полезен, как для новичков, так и для профессионалов. Первоначально создаваемый как среда для Java-разработки сегодня Eclipse имеет широкий диапазон возможностей благодаря большому количеству плагинов и расширений. Помимо средств отладки и поддержки Git / CVS, стандартная версия Eclipse поставляется с инструментами Java и Plugin Development Tooling. Если вам этого недостаточно, доступно много других пакетов: инструменты для построения диаграмм, моделирования, составления отчетов, тестирования и создания графических интерфейсов. Клиент Marketplace Eclipse открывает пользователям доступ к хранилищу плагинов и информации.
Поддерживаемые языки: C, C++, Java, Perl, PHP, Python, Ruby и другие.
Особенности:
- Множество пакетных решений, обеспечивающих многоязычную поддержку;
- Улучшения Java IDE, такие как иерархические представления вложенных проектов;
- Интерфейс, ориентированный на задачи, включая уведомления в системном трее;
- Автоматическое создание отчетов об ошибках;
- Параметры инструментария для проектов JEE;
- Интеграция с JUnit.
Недостатки: многие параметры этой среды разработки могут запугать новичков. Eclipse не обладает всеми теми функциями, что и IntelliJ IDEA, но является IDE с открытым исходным кодом.
Особенности среды разработки KDevelop
Среда разработки использует встроенный компонент редактора через фреймворк KParts. Редактор по умолчанию представляет собой расширенный текстовый редактор KDE, который можно дополнительно заменить редактором на основе Qt Designer. Этот список фокусируется на особенностях самого KDevelop.
KDevelop поддерживает различные языки программирования, включая C, C++, Python, PHP, Java, Fortran, Ruby, Ada, Pascal, SQL и bash scripting. Поддерживаемые системы сборки включают GNU (automake), cmake, qmake и make для пользовательских проектов (KDevelop не уничтожает пользовательские файлы Makefile, если они используются) и проекты сценариев, которые не нуждаются в них.
Завершение кода доступно для языков C и C++. Символы хранятся в файле БД Berkeley для быстрого поиска без повторного разбора. KDevelop также предлагает платформу разработчика, которая помогает писать новые Парсеры для других языков программирования.
Встроенный отладчик позволяет графически выполнять всю отладку с точками остановки и обратными следами. Он даже работает с динамически загружаемыми плагинами в отличие от командной строки GDB.
В настоящее время для этой интегрированной среды разработки существует от 50 до 100 подключаемых модулей. Основные из них включают в себя постоянные закладки кода на уровне проекта, сокращения кода, которые позволяют быстро расширять текст, формататор исходного кода, который переформатирует код согласно руководству по стилю перед сохранением, Поиск регулярных выражений и поиск/замена на уровне проекта, который помогает в рефакторинге кода.
KDevelop всегда гордился своей современной поддержкой языков C / C++. С принятием Clang в 5.0 она получает 100% правильную функциональность синтаксического анализа кода, что означает, что IDE может точно проверять ошибки кодирования даже без необходимости вызывать компилятор! Не ограничиваясь C / C++, все поддерживаемые языки совместно используют следующие функции.
Семантическая подсветка, которая учитывает семантику языка и, например, выделяет имена классов, отличные от имен переменных, даже если это не может быть распознано только по синтаксису кода.
Радужная подсветка выделяет каждое появление одной и той же переменной в определенном цвете, изменяясь на основе каждой переменной.
Контекстно-зависимый, семантический код завершения: KDevelop имеет сложные эвристики, предназначенные для представления с наиболее вероятными предложениями в текущей позиции курсора. Для Python, PHP и JS эти дополнения генерируются из кэшированного представления кода KDevelop и, таким образом, доступны мгновенно-без заметной задержки.
Постоянный дисковый кэш для базы данных кода. В зависимости от размера сложности проекта, сначала анализ может занять некоторое время; но после этого первого раза все кэшируется на диске и загружается в течение нескольких секунд при каждом последующем запуске IDE.
Fully Integrated C/C++ Development Environment
Project models
CLion uses the project model to inform its coding assistance,
refactoring, coding style consistency, and other smart actions
in the editor. Supported formats include CMake, Makefile,
Gradle, and compilation database.
Keyboard-centric approach
To help you focus on code and raise your productivity, CLion has handy
keyboard shortcuts for nearly all its features, actions, and commands.
Vim fans are welcome to install the
Vim-emulation plugin.
Local and remote work
With an embedded terminal, run any command without leaving the IDE,
locally or remotely using the SSH protocol.
After editing your code locally, build, run, or debug your application
or unit tests locally, remotely, or on a chip.
Everything you need in one place
CLion includes all the essentials of everyday development: VCS (SVN, Git, GitHub,
Mercurial, Perforce), Google Test, Catch and Boost.Test frameworks for unit testing,
Doxygen, Database tools, and Markdown support.
Xcode
Набор инструментов для создания приложений под iPad, iPhone и Mac. Интеграция с Cocoa Touch делает работу в среде Apple простой, вы можете включать такие сервисы, как Game Center или Passbook, одним кликом мыши. Встроенная интеграция с сайтом разработчика помогает создавать полнофункциональные приложения «на лету».
Поддерживаемые языки: AppleScript, C, C++, Java, Objective-C.
Особенности:
- Элементы пользовательского интерфейса можно легко связать с кодом реализации;
- Компилятор Apple LLVM сканирует код и предоставляет рекомендации по решению проблем производительности;
- Панель навигации обеспечивает быстрое перемещение между разделами;
- Interface Builder позволяет создавать прототипы без написания кода;
- Пользовательский интерфейс и исходный код можно подключить к сложным прототипам интерфейсов всего за несколько минут;
- Редактор версий включает в себя файлы журнала и хронологии;
- Распределение и объединение процессов удобно при командной работе;
- Test Navigator позволяет быстро тестировать приложения в любой момент разработки;
- Автоматически создает, анализирует, тестирует и архивирует проекты благодаря интеграции с сервером OX X;
- Рабочий процесс настраивается с помощью вкладок, поведения и фрагментов;
- Библиотека инструментов и каталог ресурсов.
Недостатки инструментальной среды разработки: для запуска Xcode нужен компьютер от компании Apple. А для загрузки создаваемых приложений в Apple Store — лицензия разработчика.
Smart C and C++ editor
Code assistance
Read and write code effectively with an editor that deeply understands C and C++.
Have completion results filtered by type in Smart Completion. Use Breadcrumbs
to track your location inside the hierarchy of scopes. Gain insight into function calls
thanks to parameter name hints. Find the context usages of a symbol or simply jump
to it by typing its name. CLion will even make sure your code conforms to coding guidelines,
including formatting, naming, and more.
Code generation
Generate tons of boilerplate code instantly. Override and implement functions
with simple shortcuts. Generate constructors and destructors, getters and setters,
and equality, relational, and stream output operators. Wrap a block of code with a statement,
or generate a declaration from a usage. Create custom live templates to reuse typical
code blocks across your code base to save time and maintain a consistent style.
Safe refactoring
Rename symbols; inline a function, variable, or macro; move members through the hierarchy;
change function signatures; and extract functions, variables, parameters, or a typedef.
Whichever automated refactoring you use, rest assured CLion will safely propagate
the appropriate changes throughout your code.
Quick Documentation
Inspect the code under the caret to learn just about anything: function signature details,
review comments, preview Doxygen-style documentation, check out the inferred type
for symbols lacking explicit types, and even see properly formatted final
macro replacements.
IntelliJ IDEA
Еще одна IDE, разработанная Jet Brains. Она предлагает пользователям бесплатную версию Community Edition, 30-дневную бесплатную ознакомительную версию Ultimate Edition и годовую подписку на версию Ultimate Edition за $533 — $693. IntelliJ IDEA поддерживает Java 8 и Java EE 7, обладает обширным инструментарием для разработки мобильных приложений и корпоративных технологий для различных платформ. Если говорить о цене, IntelliJ является прекрасным вариантом из-за огромного списка функций.
Поддерживаемые языки программирования: AngularJS, CoffeeScript, HTML, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass, TypeScript и другие.
Особенности:
- Расширенный редактор баз данных и дизайнер UML;
- Поддержка нескольких систем сборки;
- Пользовательский интерфейс тестового запуска приложений;
- Интеграция с Git;
- Поддержка Google App Engine, Grails, GWT, Hibernate, Java EE, OSGi, Play, Spring, Struts и других;
- Встроенные средства развертывания и отладки для большинства серверов приложений;
- Интеллектуальные текстовые редакторы для HTML, CSS и Java;
- Интегрированный контроль версий;
- AIR Mobile с поддержкой Android и iOS.
Недостатки: эта среда разработки JavaScript требует времени и усилий на изучение, поэтому может оказаться не лучшим вариантом для начинающих. В ней есть много сочетаний горячих клавиш, которые нужно просто запомнить. Некоторые пользователи жалуются на неуклюжий интерфейс.
Web based IDE
Nowadays, internet is taking the world at a greater level altogether and so it was inevitable that sooner or later these IDEs would also be integrated somewhere or the other with internet. Thus the evolution of web based IDEs have taken place which are working on many portable web browsers like Google Chrome, Internet Explorer or Mozilla Firefox etc and they provide the comfort of same basic and conventional IDE with an upgradation to portability and wide access throughout the globe.
This generally works like a typical website with a front end and a back end and mostly the front end is developed by various languages like C++ and Javascript. The back end automatically deals with data storing and retrieving through a HTTP API. These web based IDEs can also be based and functioned as C++ IDEs and thus provides the user with a lot of options to choose from.