Чем компилировать c windows

Обновлено: 07.07.2024

Что такое компилятор C++?

Итак, давайте начнем с основ. Любой компьютер понимает только машинный код или ассемблер, который состоит из нулей и единиц. Это самый низкий, базовый уровень работы компьютера. Однако программировать таким образом весьма сложно и неудобно. Даже использовать низкоуровневый ассемблер — это то еще удовольствие. Хотя, впрочем, на нем есть даже своя операционная система.

Однако большинство разработчиков предпочитают высокоуровневые языки программирования, такие как C++. «Высокий уровень» означает, что они работают на уровне операционной системы, а не машинных кодов. И вот именно компилятор обеспечивает взаимодействие между кодом на C++ или любом другом высокоуровневом языке, и собственно, машинным кодом. Это утилита-посредник, которая обеспечивает преобразование вот такого кода:

Примерно в такой, понятный процессору:

Подобным образом работают и другие языки, к примеру, Python, JavaScript и так далее. Только они преобразовываются сначала в C++, а уже затем в ассемблерные коды.

И потому важным вопросом был, есть и остается — какой же компилятор C++ самый лучший. Сегодня мы постараемся подробно разобрать эту тему и выяснить ответ.

Как скомпилировать С++?

Компиляция кода требует от программиста некоторых действий, а также отдельную программу — интегрированную среду разработки или Integrated Development Environment (сокращенно IDE). Они бывают разные, могут включать в себя текстовые редакторы и дополнительные инструменты для упрощения разработки. Подробнее об этом мы поговорим чуть позже, а пока вернемся к базовым моментам.

Для компиляции нужно взять файл с кодом, запустить компилятор и указать ему путь к этому файлу. Также можно подключить библиотеки и сторонние компоненты. Разумеется, в современных средах разработки большинство задач автоматизировано — нужно лишь в начале указать параметры настройки, после чего можно компилировать программу.

После запуска интерпретатор «разберет» код, найдет там команды, флаги и другие элементы, подключит библиотеки и переведет данные в машинный код, после чего сформирует готовый исполняемый файл. Само собой, если в коде нет ошибок. Но, как известно, они там есть всегда — если их нет в коде, то они в компиляторе (шутка).

После этого скомпилированной программой уже можно пользоваться.

Рейтинг компиляторов и IDE для C++: ТОП лучших

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

Visual Studio Code

Наверное, нет такого рейтинга IDE, где бы не было упоминания Visual Studio. Эта среда разработки по праву занимает первое место, и вовсе не потому, что ее разработали в Microsoft. Просто это один из самых стабильных продуктов в данном сегменте, который также обладает целой уймой достоинств.


В числе таковых отметим функции умного дополнения кода, подсветку синтаксиса многих языков, возможности рефакторинга и отладки кода, система контроля версий «из коробки», кроссплатформенность, обилие языков и так далее.

Плюсы:

  • Версии под Windows, Linux и macOS.
  • Бесплатный вариант Visual Studio Community имеет достаточно много возможностей.
  • Можно бесплатно получить даже платные версии, если вы — студент.
  • Автодополнение кода работает весьма корректно.
  • Возможна настройка и кастомизация системы под свои задачи.

Минусы:

  • Система требовательна к железу — сказывается то, что IDE базируется на движке Electron.
  • Для небольших проектов излишне функциональна.
  • Медленно запускает проекты.
  • Платные варианты стоят от 45 до 250 долларов в месяц — да, только по подписке.

Microsoft Visual C++

Еще одна проприетарная разработка, но уже строго под операционную систему из Редмонда. Зато бесплатная (речь о версии, которую разрабатывает сообщество).


Плюсы:

  • Отсутствие оплаты.
  • Крупное и развитое сообщество, что означает возможность поддержки.
  • Множество инструментов.
  • Быстрая компиляция

Минусы:

  • IntelliSense не всегда корректно работает.
  • Система «заточена» только под Windows.

Eclipse CDT

Eclipse CDT — это еще одна популярная среда разработки, но уже свободная и открытая. Это вариант для тех C++ разработчиков, кто не хочет использовать проприетарные продукты. Важно отметить, что эта IDE кроссплатформенная — есть поддержка Windows, Linux и Mac OS.


Функциональность включает все базовые возможности — автоматическое дополнение кода, встроенный отладчик, подсветка синтаксиса и так далее. Отметим, что система бесплатная, имеет неплохую документацию, развитое сообщество, а также уникальную «фишку» — встроенную систему тестирования. Также отмечается, что для Eclipse CDT есть много плагинов.

Плюсы:

  • Бесплатность, кроссплатформенность, возможность настройки графического интерфейса.
  • Хорошая поддержка и документация.
  • Развитое и активное сообщество.
  • Функции автозавершения, встроенные тесты, обилие плагинов.

Минусы:

  • Система медленно запускается и потребляет много оперативной памяти.
  • Есть проблемы с плагинами (могут конфликтовать) и неполной обратной совместимостью.

Xcode

Еще одна проприетарная и «моносистемная» IDE. Ее разработала Apple, потому она доступна только для macOS. Поддерживаются языки С++, Objective-C и Swift. Как отмечается, система обладает быстрым компилятором.


В числе функциональных особенностей отметим наличие системы поиска ошибок в коде, систему контроля версий, встроенные тесты. Поддерживаются операционные системы MacOS, iOS, WatchOS и tvOS. А сам компилятор можно запускать через терминал, без графического интерфейса. В некоторых случаях это удобнее.

Плюсы:

  • Быстрый компилятор.
  • Лучшая IDE для «яблочных» систем.
  • Возможность запуска компилятора из командной строки.
  • Бесплатно для разработчиков на MacOS, iOS, WatchOS и tvOS.

Минусы:

  • Работа только в системах от Apple
  • Малое число поддерживаемых языков программирования.

Code::Blocks

Вторая в нашем перечне IDE с открытым исходным кодом и бесплатным статусом. Code::Blocks (также известная под названием CodeBlocks) сама написана на C++ и работает на Windows, Linux и macOS. То есть, с кроссплатформенностью тут полный порядок.


Отличает эту среду разработки сразу несколько моментов. Во-первых, она поддерживает огромное количество компиляторов. Во-вторых, это модульная IDE, то есть ее функциональность можно расширить плагинами. Помимо этого, настраивается вообще все.

Список компиляторов выглядит так:

  • MingW
  • GNU GCC;
  • MSVC++;
  • Clang;
  • Digital Mars;
  • Borland C++ 5.5;
  • Open Watcom.

А вот какие языки поддерживает эта среда:

Плюсы:

  • Кроссплатформенность, открытость, гибкость настройки.
  • Активное сообщество.
  • Подсветка синтаксиса и автозавершение.
  • Наличие встроенного отладчика и других возможностей.
  • Много плагинов.

Минусы:

NetBeans

Снова открытая среда разработки. Ее изначально разрабатывали и финансировали в Oracle, но затем открыли исходники. Программа написана на Java, что автоматически дает поддержку разных платформ. В списке есть Windows, Linux, macOS и Solaris.


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

Список поддерживаемых языков включает:

Также доступны многие другие, в том числе редкости вроде «Ада».

В списке компиляторов можно найти такие решения:

  • GCC/G++;
  • CLang/LLVM;
  • Cygwin;
  • MinGW;
  • Oracle Solaris Studio.

Плюсы:

  • Бесплатность, открытые исходники, кроссплатформенность.
  • Автозавершение кода.
  • Наличие плагинов и возможности писать их самому.
  • Активное сообщество.

Минусы:

  • Из-за того, что NetBeans написали на Java, приложение долго стартует.
  • Есть жалобы, что работа с дебаггером реализована неудобно.

Qt Creator

Проприетарная среда разработки от JetBrains, которая неплохо зарекомендовала себя на рынке. Эта среда рассчитана на разные платформы, обеспечивает качественную работу с библиотеками и предлагает удобный графический интерфейс.


Среда доступна на Windows, Linux, macOS. Из функций есть автоматическое дополнение, подсветка синтаксиса, функция перетаскивания элементов при создании интерфейса пользователя, и многое другое.

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

При использовании расширений IDE позволяет работать с PHP, Java, Ruby, Python и другими языками программирования.

Плюсы:

  • Есть бесплатная версия IDE.
  • Присутствует автодополнение.
  • Есть поддержка кроссплатформенности.
  • Есть поддержка разных языков программирования.
  • Удобный конструктор пользовательского интерфейса.

Минусы:

  • Цена по подписке от $459 в месяц.
  • Бесплатная версия сильно урезана по функциональности.

Это популярная система для написания кода — бесплатная и открытая. Есть поддержка кроссплатформенности — Windows, Linux и OS X. Интерфейс минималистичный, но его хватает. Систему разработали на GitHub.


Система поддерживает много плагинов, есть собственный менеджер пакетов, автодополнение и так далее.

Поддерживаются в том числе такие языки:

Плюсы:

  • Открытые исходники.
  • Бесплатность.
  • Кроссплатформенность.
  • Поддержка ряда языков и плагинов.

Минусы:

  • При работе могут возникать «тормоза» — например, при открытии файлов.

Intel C++

Intel C++ (ICC) — бесплатный кроссплатформенный инструмент для разработчиков ПО. Система примечательна тем, что компилирует готовые файлы быстрее альтернатив. Этого в компании достигли за счет кэширования данных и других улучшений. Также отмечается, что со временем скорость работы ICC не падает. Как у других решений.

IDE поддерживает работу с Windows и Linux. Список языков:

Плюсы:

  • Быстрая компиляция.
  • Наличие кроссплатформенной поддержки.
  • Бесплатность.

Минусы:

C++Builder

Платная и «закрытая», но очень мощная система разработки. C++Builder предлагает удобные инструменты для работы и написания кода под все актуальные платформы. В списке есть Windows, macOS, iOS и Android.


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

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

Плюсы:

  • Мощная система для разработки.
  • Возможности тестирования и аудита кода.
  • Визуальная разработка и конструктор интерфейса.
  • Множество библиотек.

Минусы:

  • Нет бесплатной версии, цены стартуют от $500 в год.

Лучшие онлайн сервисы-компиляторы

Итак, мы рассмотрели самые интересные IDE для разработки программ на C++. Как видно, там есть из чего выбрать. Однако существует и другая категория — сервисы-компиляторы, доступные онлайн. Само собой, они не идут ни в какое сравнение со «старшими братьями», но у них ведь и другие задачи — быстро проверить небольшой кусок кода и запустить его. О них мы и поговорим далее.

Coliru

Если вам нужно оперативно скомпилировать небольшую программу, то подойдет Coliru. Это простой и легкий компилятор доступный через браузер. Он работает с языками C и C++, но при этом не может предложить слишком много.


В числе его особенностей отметим компиляцию только одного файла сразу. Зато у него есть архив, а также отсутствуют любые подписки и платные функции. Даже регистрироваться не нужно.

Плюсы:

Минусы:

  • Несколько файлов одновременно компилировать нельзя.
  • Поддерживаются только два языка.

Codepad


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

Список языков:

Плюсы:

Минусы:

  • Функциональность намного меньше, чем в обычных IDE.

Tutorialspoint CodingGround

Неплохой онлайн-компилятор с простым и функциональным дизайном. Его особенности — поддержка более 75 языков и хорошо структурированная документация. В перечне есть книги, видео и другие материалы по разным аспектам, но для этого придется оформить подписку. Впрочем, на YouTube есть и бесплатные ролики.


В остальном же — довольно типичный инструмент с подсветкой синтаксиса, выводом результата и так далее.

Плюсы:

  • Большое количество языков.
  • Хорошая документация и видеоматериалы.

Недостатки:

PaizaCloud

Это довольно мощный компилятор с поддержкой ряда языков и технологий. Список языков включает:

Есть бесплатная и платная версии. Главное различие между ними — время работы сервера. В бесплатном варианте его срок активной работы — 4 часа. При этом доступен только один сервер.

В платной версии ($19,8) дается один постоянно включенный сервер и еще три — с лимитированным временем использования. Есть возможность публикации сервера, а срок теперь не ограничен. Во всех случаях предлагаются два процессорных ядра, 2 ГБ ОЗУ и 4 ГБ постоянной памяти.

Плюсы:

  • Веб-сервер, сервер баз данных, терминал и прочее прямо в браузере.
  • Возможность работать на любой платформе, где есть браузер.
  • Поддержка LAMP, Ruby on Rails, JSP, Django, Node.js, Laravel и так далее.

Минусы:

  • Платная версия намного превосходит бесплатную.

Заключение

Как видим, количество инструментов для работы с С++ весьма велико, ведь сам язык — один из лучших и заслуженных. Потому ничего удивительного в том, что каждый может выбрать себе IDE по вкусу.

К слову об онлайн-компиляторах — в этом видео можно тоже выбрать подходящие себе варианты:

А какая среда разработки нравится вам?

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

Я изучаю С++ и мне нужен компилятор. Звучит странно?
Ищу не среду разработки, а именно компилятор для компиляции C++ модулей.

Есть две проблемы:
A) Как новичок в C++, я плохо ориентируюсь инструментах
B) Пересмотрев разные компиляторы, я не смог выбрать нужный

Вот какие критерии:
1) компиляция под MS Windows (32bit, 64 bit)
2) компиляция из командой строки (это основной режим работы)
3) устанавливается на машине БЕЗ интернета (к сожалению, бесплатный Visual C++ здесь не подошел)
4) C++ компилятор д.б. универсальным, т.е. не требовать свои IDE или библиотеки.
5) Д.б. поддержка официального стандарта C++11 или выше

Схема работы будет такой: В репозитарий поступают C++ модули(некие тесты), которые нужно откомпилировать, запустить и вернуть результат тестов.

Пожалуйста, посоветуйте инструменты.

  • Вопрос задан более двух лет назад
  • 28723 просмотра

Средний 12 комментариев

longclaps

Брось, пустое всё это. Иди, поиграйся.

myjcom

Я изучаю С++ и мне нужен компилятор. Звучит странно?
Ищу не среду разработки, а именно компилятор

А то тут не знают, что такое компилятор. А еще вам нужен линкер и дебаггер.

longclaps , Roman

Честно, не ожидал на вопрос о C++ компиляторе (а что может быть безобидней) получить в ответ 100% офтопик и сарказм.
.
:-((
пытаюсь осмыслить, что сподвигло. может моя фраза “Звучит странно?” неудачно интерпретирована .

myjcom

Roman,
к сожлению, ваша ссылка никак не проясняет ситуацию.
Т.к. в топик-посте(см.выше), я написал критерии:
.
пункт-3: C++ компилятор д.б. на машине БЕЗ интернета (к сожалению, Visual C++ здесь не подошел)
пункт-4: C++ компилятор д.б. универсальным, т.е. не требовать свои IDE, фреймворки, библиотеки
.

Читаем пункт правил 2.2:

Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос.

Ну, я соглашусь, но сначала покажите где "в Интеренете" есть ответ на мой вопрос.
Заранее благодарен.

myjcom

myjcom

3) устанавливается на машине БЕЗ интернета (к сожалению, бесплатный Visual C++ здесь не подошел)

Window 7;
Пояснение: Это будет платформа, где работает C++ компилятор, значит на выходе получаются .exe-файлы (под Win7)
Здесь и далее, извиняюсь, что пишу "пояснение:", просто я вообще НЕ разбираюсь в C++

Полный админский доступ на компьютере.

Это offline-компьютер.
К сожалению, у меня не получается поставить бесплатный Build Tools (от Microsoft.VisualStudio). Создаю Layout(установочных кэш), но он все равно потребует интернет-активацию.

Не знаю. Пока не разбираюсь в теме.
Мне всего лишь нужен C++ компилятор(что может быть безобидней), а в виртуальных машинах я точно запутаюсь.
:-(((

Что значит: не требовать свои IDE, фреймворки, библиотеки

Заранее спасибо за любой ответ по существу.

myjcom

Почему (по какой причине) не подошел?
Create an offline installation of Visual Studio

К сожалению, политика MS в любом случае, требует активацию продуктов, в т.ч. для бесплатного VS. Они всего лишь дают 30 дней отсрочки, за это время надо подключить интернет или активировать(бесплатный VS) другим способом.
Т.е. их "offline installation" не освобождает от необходимости активировать продукт.
Ух, кажется то, что надо. Большое Вам спасибо, за профессионализм и терпение.
P.S.
Для сравнения, на соседних сайтах меня обругали тамошние “С++ профессионалы”. Больше к ним не пойду :-(

Очень часто разработчики под windows с самого начала начинают работать с visual studio и с его немного несовместимым компилятором и std библиотеками, из-за чего последующие попытки собирать код из стандартного окружения порождают кучу работы, на нее забивают и продолжают сидеть на майкрософтовском.
Самостоятельная настройка окружения для сборки под windows тут возможна (без загрузки visual studio) но поверьте, вам не захочется вручную загружать и настраивать сотни пакетов, никто этой фигней не мается. Ставят visual studio с интерфейсом, а там никто не мешает использовать командную строку.

В общем случае, с вероятностью 99.9999999999%, вам будет НЕДОСТАТОЧНО только компилятора, вам нужны еще и библиотеки, настроенные на ваше окружение. Т.е. в зависимости от того под какую архитектуру и операционную систему вы собираете библиотеки/бинарники, и будет соответствующий ответ.

Наиболее полно готовый и почти настроенный тулчейн (почти и наверняка это будет gnu compiler, но ничто не помешает использовать clang) можно найти в linux операционных системах, т.е настроив кросскомпиляцию из linux окружения можно будет собирать все, кроме наверное macos (ну там свои заморочки и это не невозможно).

Только там, одинаково просто, можно будет собирать как windows приложения так и arduino скетчи.

p.s. для настройки linux дистрибутива интернет вам понадобится только что для поиска документации, репозитории (тех же debian/ubuntu) можно приобрести на компакт дисках или сделать свой offline инсталятор.

p.p.s. вы можете попытаться использовать windows 10 (не домашние) подсистему linux, установив в нее ту же ubuntu, и без каких либо накладных расходов (это не виртуалка, это скорее wine наоборот) работать

Ближайший аналог удобного окружения но под windows это mingw (много рукошевелений) и cygwin, последняя так вообще копирует linux, но там свои заморочки, например файловые пути в итоговом приложении для совместимости будут вида /cygdrive/c/. плюс совместимость dll своя, ни с чем не совместимая.

Лучшие компиляторы и IDE для C++

Рассказываем о лучших компиляторах и инструментах для разработки на С++.

Что такое компилятор C++?

Если в двух словах, то это утилита, которая преобразует написанный человеком код в язык, понятный для компьютера.

Если подробнее, то сначала надо обратиться к тому, как работает программный код. Компьютеры понимают только машинный язык (ассемблер), представляющий собой чередующиеся нули и единицы. Других прямых механизмов взаимодействия между компьютеров и человеком не существует.

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

Ассемблер общается с аппаратным обеспечением напрямую. Языкам в духе C и C++ требуется компилятор, который сможет превратить более очеловеченный код в машинный. Похожим образом работают более «высокие» языки наподобие JavaScript и Python. Только они сначала преобразуются в С++, а потом в ассемблер. Все сводится к одному.

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

Как скомпилировать С++

Для этого нужна специальная программа. Она считывает код и начинает его трансформировать (переводить с одного языка на другой). Некоторые из них включают в себя текстовый редактор, куда можно вставить код, а некоторые работают в командной строке и взаимодействуют с готовыми скриптами.

Обычно процесс компиляции заключается в введении команды для запуска компилятора и передачи пути до файла-скрипта. Иногда компиляцию удается запустить через графический интерфейс. Все зависит от используемого ПО.

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

Топ лучших компиляторов и IDE для C++

Большая часть компиляторов существует в виде программного обеспечения, устанавливаемого в систему. Частенько они объединены с IDE, полноценной средой разработки, которая включает в себя текстовый редактор с подсветкой синтаксиса, автодополнением кода, файловым менеджером и массой других возможностей, необходимых для комфортного программирования.

Visual Studio Code

Тип: IDE

Цена: Бесплатно

Поддерживаемые платформы: Windows, Linux, macOS

Это популярнейший редактор текста для программистов, который можно превратить в мощную IDE, установив дополнительные плагины. Популярность VS Code обоснована его производительностью, открытым исходным кодом и неограниченной функциональностью.

Интерфейс приложения VS Code

Удобный, современный интерфейс вкупе с высокой скоростью работы делают VS Code идеальным инструментом для разработки программного обеспечения любого формата, в том числе и на языке С++.

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

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

Microsoft Visual C++

Тип: IDE

Стоимость: Community-версия распространяется бесплатно

Поддерживаемые платформы: Windows

Интерфейс приложения Microsoft Visual

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

Тут, как и в VS Code, есть система IntelliSense, помогающая писать код быстрее и эффективнее. Она автоматически дополняет строки кода, проверяет код на наличие ошибок, помогает работать со сторонними API и т.п.

Развиваемая сообществом версия программы распространяется безвозмездно.

Xcode

Тип: IDE

Стоимость: Бесплатно

Поддерживаемые платформы: macOS

Ключевая IDE компании Apple, разработанная эксклюзивно для macOS. Хоть и основное направление Xcode – работа с языками Objective-C и Swift, в программу встроен быстрый и удобный компилятор С++. Для работы с ним нужно лишь указать соотвествующий формат при создании нового проекта.

Интерфейс приложения Xcode

В Xcode удобный интерфейс, позволяющий легко организовать все открытые файлы проекта: скрипты, документацию, preview-кода и другие элементы, необходимые по ходу разработки приложения.

Здесь есть все необходимые инструменты для разработки: полноценные дебаггер (система поиска ошибок), механизмы управления файлами на манер git, встроенные утилиты для тестирования кода и т.п.

Запускать компилятор можно через командную строку, не используя графический интерфейс.

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Linux, macOS

Классические компиляторы в духе g++ отличаются от IDE отсутствием среды для разработки. Они лишь переводят текст с языка С++ на машинный язык, понятный для компьютерного процессора.

g++ – это встроенная в unix-системы утилита, запускаемая через командную строку.

Чтобы ею воспользоваться, нужно:

С помощью команды cd перейти в директорию с исходным кодом программы.

Ввести команду g++ название файла в формате .cpp

Эта команда автоматически создаст инициализируемый .exe-файл.

При необходимости скомпилировать код и сразу же его запустить, можно расширить команду и добавить ссылку на созданный инициализируемый файл.

Тип: IDE

Стоимость: Бесплатно

Поддерживаемые платформы: Windows

Dev-C++ – это полноформатная IDE для написания и компиляции кода на языках С и С++. Утилита является одним из главных программных продуктов с 1998 года. Ее используют миллионы разработчиков, студентов и исследователей.

Интерфейс приложения Dev-C

Из преимуществ Dev-C++ пользователи программы выделяют следующие аспекты:

Легковесность и высокая скорость работы (интерфейса и компилятора).

Портативность. Возможность запускать Dev-C++ без установки.

Поддерживает сторонние компиляторы Mingw, Cygwin и другие.

Браузер классов, интегрированный дебаггер, автозавершение кода.

Удобный интерфейс управления проектами и настраиваемый текстовый редактор.

Intel C++

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Windows, Linux

Intel C++ (ICC), как понятно из названия, разработан компанией Intel с использованием современных наработок и мощной интеграцией с аппаратными компонентами компании.

В Intel C++ используется мощная система кэширования и SIMD-инструкции. Это позволяет ему компилировать код гораздо быстрее и эффективнее, чем большинству подобных решений. К тому же он удерживает высокую производительность на протяжении всего времени работы, когда другие компиляторы «проседают».

Интерфейс приложения Intel C++

Intel внедрила колоссальное количество технологий, чтобы при компиляции создавать оптимизированный и быстро инициализируемый код. К тому же их программа легко интегрируется в другие популярные инструменты для разработки и может использоваться в тандеме с любым другим компилятором.

Также платформа Intel поддерживает стандарты C++ 20, SYCL, OpenMP 5.0, GPU offload.

Mingw-w64

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Windows

Усовершенствованная версия проекта mingw, который завершил свое существование в 2007 году. Mingw-w64 – это форк (ответвление разработки) оригинального компилятора, необходимого для поддержки 64-битных операционных систем.

Также mingw-w64 поддерживает современные версии API, за счет чего и приобрел большую популярность среди независимых разработчиков. Они же регулярно выпускают обновления и совершенствуют компилятор.

Mingw-w64 включает в себя миллионы подзаголовков, включая те, что необходимы для работы с новыми API Windows. В комплекте с mingw-w64 идет все необходимое для запуска и тестирования кода на Windows: инструменты для генерации файлов в формате .def, .dll. и утилита genidl для создания .idi файлов.

Проект mingw-w64 используется во множестве проектов, включая Blender, Fedora, OpenSUSE, DAE Tools, Botan, Win-builds и так далее.

Clang C++

Тип: Компилятор

Стоимость: Бесплатно

Поддержимваемые платформы: macOS, Linux, FreeBSD

Один из наиболее популярных и часто используемых компиляторов С, С++, Objective-C и других языков. Также он подходит для работы с фреймворками OpenMP, OpenCL, RenderScript, CUDA.

Интерфейс приложения Clang

Clang создавался в качестве альтернативы GNU Compiler Collection. Продукт поддерживает большую часть флагов компиляции и неофициальных расширений для программного языка. Продукт развивается силами разработчиков огромного числа крупных корпораций, включая Apple, Microsoft, Google, ARM, Sony, Intel, AMD и других. Исходный код открыт.

Clion

Тип: IDE

Стоимость: от 14 100 рублей

Поддерживаемые платформы:

Clion – это полнофункциональная кроссплатформенная среда для разработки приложений на языке C++. В нее включена поддержка современных стандартов программного языка С++, технологий libC++ и Boost.

Программа автоматически контролирует состояние кода и его «чистоту», позволяя разработчикам сконцентрироваться на ключевых аспектах создания приложений вместо забот о поиске ошибок и т.п. Естественно, не обошлось без поддержки автодополнения кода, подсветки синтаксиса и механизмов тестирования.

Интерфейс приложения Clion

Clion упрощает процесс разработки программного обеспечения за счет использования CMake и Gradle. Разработка компании JetBrains идеально подходит для комфортного управления всеми аспектами приложения с клавиатуры, тестирования кода с использованием технологий Google Test, интеграции VCS, Git< Boost.Test и других фреймворков.

Лучшие сервисы-компиляторы

Компилировать код можно не на жестком диске своего ПК, а онлайн, используя специализированные сервисы. Компилятор находится на сервере разработчика и выполняет все необходимые функции за вас. Правда, функциональность таких сервисов обычно заметно ограничена. Рассчитывать на полную поддержку всех используемых библиотек не стоит, но для быстрого тестирования кода и изучения языка такие компиляторы подходят идеально.

Codepad

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Любой браузер

Онлайн-сервис для компиляции и интерпретации C++ через браузер, разработанный независимым разработчиком Стивеном Хэйзелом, одним из основателей компании Sauce Labs.

Интерфейс сервиса Codepad

Одним из преимуществ Codepad является функция коллаборации. Можно создавать проекты с собственными субдоменами для приватной совместной работы с коллегами.

Принцип работы Codepad простой: в текстовое поле сайта нужно вставить сгенерированный ранее код и нажать на кнопку Submit. Утилита в ответ отправит вывод (результат работы) команды. Потом можно оставить комментарий под написанным кодом и сгенерировать постоянную ссылку для взаимодействия с другими программистами.

Также Codepad поддерживает C, Haskell, Lua, Python и другие языки, над которыми можно работать в команде прямо из браузера.

CPP.sh

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Любой браузер

Еще одна онлайн-альтернатива для тех, кто хочет разрабатывать ПО на языке C++ и кому нужен простой и быстрый компилятор.

Интерфейс CPP.sh состоит из двух ключевых фрагментов: текстовое поле, куда можно прописать код, и панель с настройками. Текстовый редактор сервиса поддерживает подсветку синтаксиса и возможность протестировать практически любой код прямо в браузере, не используя дополнительное ПО.

Интерфейс сервиса C++ Shell

В настройках можно выбрать стандарт языка (С++98, С++11, С++14), тип уведомлений об ошибках (Wall, Wextra, Wpedantic), уровень оптимизации кода, а также прописать параметры инициализации кода и вывода данных. Также в CPP.sh есть две консоли с информацией о компиляции и запуске кода.

Jdoodle

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Браузер, iOS и Android

Еще один компилятор С++, работающий в браузере и не требующий установки дополнительного ПО.

В Jdoodle можно инициализировать код в одном из пяти доступных режимов: GCC 5.3.0, Zapcc 5.0.0, GCC 7.2.0, GCC 8.1.0, GCC 9.1.0. Можно вписать свои аргументы для командной строки и ввести параметры Stdin Inputs.

Jdoodle работает в двух режимах: первый – статичный (сначала пишете код, а потом его запускаете), второй – интерактивный (результат любого действия разработчика тут же отображается в консоли).

При необходимости можно не писать код на сайте, а загрузить файл уже с готовым скриптом. Также в Jdoodle можно включить темную тему, выбрать размер шрифта, сохранить проект в отдельном файле и пригласить коллег для совместной работы. А еще у Jdoodle есть мобильная версия для компиляции на смартфонах и планшетах.

C++ Tutor

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Любой браузер

Последняя в подборке система визуализации кода, часто использующаяся начинающими разработчиками на ранних этапах изучения С++. В отличие от вышеперечисленных компиляторов, здесь все предельно просто: вводите код, затем нажимаете на кнопку «Visualize Execution» и смотрите на результат. Никаких настроек, опций и дополнительных функций тут нет. Максимально примитивный, но все еще эффективный инструмент.

Вместо заключения

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

В состав Visual C++ включен компилятор языка C, позволяющий создавать как простые консольные программы, так и классические приложения Windows, мобильные приложения и многое другое.

В этом пошаговом руководстве показано, как создать простейшую программу на языке C в стиле "Hello, World" в текстовом редакторе с последующей компиляцией из командной строки. Если вы предпочитаете работать с C++ в командной строке, см. статью Пошаговое руководство. Компиляция собственной программы на языке C++ из командной строки. Если вы хотите попробовать интегрированную среду разработки Visual Studio вместо командной строки, см. статью Пошаговое руководство. Работа с проектами и решениями (C++) или Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++.

Предварительные требования

Для выполнения этого пошагового руководства необходимо установить Visual Studio и дополнительные компоненты Visual C++ или Build Tools для Visual Studio.

Visual Studio — это эффективная интегрированная среда разработки, которая поддерживает полнофункциональный редактор, диспетчеры ресурсов, отладчики и компиляторы для многих языков и платформ. Сведения об этих компонентах, а также о скачивании и установке Visual Studio, включая бесплатный выпуск Visual Studio Community, см. в этой статье.

При использовании версии Build Tools для Visual Studio устанавливаются только программы командной строки, библиотеки и компиляторы, необходимые для сборки программ на C и C++. Это идеальный вариант для создания заданий и упражнений, а установка выполняется относительно быстро. Чтобы установить только набор программ командной строки, скачайте Build Tools для Visual Studio на странице скачивания Visual Studio, а затем запустите установщик. В установщике Visual Studio выберите рабочую нагрузку Средства сборки C++ и щелкните Установить.

Прежде чем можно будет выполнить сборку программы C или C++ в командной строке, необходимо убедиться в том, что эти средства установлены и к ним можно получить доступ из командной строки. Visual C++ имеет сложные требования к среде командной строки для поиска используемых средств, заголовков и библиотек. Visual C++ нельзя использовать в простом окне командной строки без предварительной подготовки. Вам понадобится окно командной строки разработчика, являющееся обычным окном командной строки, в котором заданы все необходимые переменные среды. К счастью, Visual C++ устанавливает ярлыки для запуска командной строки разработчика, для которой настроена среда для сборок из командной строки. К сожалению, имена ярлыков командной строки разработчика и места их расположения отличаются практически во всех версиях Visual C++ и в различных версиях Windows. Первая задача пошагового руководства — найти нужный ярлык.

Ярлык командной строки разработчика автоматически задает правильные пути для компилятора и средств, а также для всех необходимых заголовков и библиотек. Некоторые из этих значений различаются для каждой конфигурации сборки. Если вы не используете ни один из ярлыков, эти значения среды необходимо задать самостоятельно. Дополнительные сведения см. в статье Использование набора инструментов MSVC из командной строки. Так как настраивать среду разработки сложно, настоятельно рекомендуется использовать ярлык командной строки разработчика вместо создания собственного.

Инструкции отличаются в зависимости от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.

Открытие командной строки разработчика в Visual Studio 2022

Если вы установили Visual Studio 2022 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio 2022 (не приложение Visual Studio 2022). Выберите элемент Командная строка разработчика для VS 2022, чтобы открыть окно командной строки.

Открытие командной строки разработчика в Visual Studio 2019

Если вы установили Visual Studio 2019 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio 2019 (не приложение Visual Studio 2019). Выберите элемент Командная строка разработчика для VS 2019, чтобы открыть окно командной строки.

Открытие командной строки разработчика в Visual Studio 2017

Если вы установили Visual Studio 2017 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio 2017 (не приложение Visual Studio 2017). Выберите элемент Командная строка разработчика для VS 2017, чтобы открыть окно командной строки.

Открытие командной строки разработчика в Visual Studio 2015

Если вы установили Microsoft Visual C++ Build Tools 2015 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите Все приложения. Прокрутите вниз и откройте папку Microsoft Visual C++ Build Tools. Выберите элемент Командная строка Native Tools x86 Visual C++ 2015, чтобы открыть окно командной строки.

Если вы используете другую версию Windows, найдите в меню "Пуск" или на начальной странице папку средств Visual Studio, содержащую ярлык командной строки разработчика. Можно также ввести "командная строка разработчика" в строке поиска в Windows и выбрать командную строку, которая соответствует установленной версии Visual Studio. Откройте окно командной строки с помощью ярлыка.

Затем убедитесь в том, что командная строка разработчика Visual C++ настроена правильно. В окне командной строки введите cl и убедитесь в том, что выходные данные выглядят примерно так:

В зависимости от установленной версии Visual C++ и обновлений текущий каталог или номера версий могут отличаться. Если приведенный выше результат похож на отображаемый, можно приступать к сборке программ C или C++ в командной строке.

В зависимости от версии Windows, установленной на компьютере, и конфигурации системы безопасности может потребоваться правой кнопкой мыши открыть контекстное меню для ярлыка командной строки разработчика и выбрать пункт Запуск от имени администратора, чтобы успешно выполнить сборку и запуск программы, созданной в этом пошаговом руководстве.

Создание файла исходного кода на языке C и его компиляция из командной строки

В окне командной строки разработчика введите команду cd c:\ , чтобы изменить текущий рабочий каталог на корень диска C:. Затем введите md c:\hello , чтобы создать каталог, и введите cd c:\hello , чтобы перейти к этому каталогу. В этом каталоге будут находиться исходный файл и скомпилированная программа.

В командной строке разработчика введите команду notepad hello.c . В появившемся диалоговом окне блокнота с оповещением выберите Да, чтобы создать файл hello.c в рабочей папке.

В окне блокнота введите следующие строки кода:

В строке меню блокнота выберите Файл > Сохранить, чтобы сохранить файл hello.c в рабочей папке.

Вернитесь к окну командной строки разработчика. Введите dir в командной строке, чтобы получить список содержимого каталога c:\hello . Вы увидите исходный файл hello.c в списке каталогов, который выглядит примерно так:

Даты и некоторые другие данные будут отличаться на вашем компьютере. Если вы не видите файл исходного кода hello.c , убедитесь в том, что вы открыли созданный каталог c:\hello и сохранили исходный файл в нем в блокноте. Также убедитесь, что исходный код был сохранен с расширением имени файла .c , а не .txt .

Чтобы скомпилировать программу, в командной строке разработчика введите cl hello.c .

Имя исполняемой программы (hello.exe) отображается в информации, выводимой компилятором.

Чтобы запустить программу, в командной строке введите hello .

Программа выводит следующий текст и затем закрывается:

Поздравляем! Вы скомпилировали и запустили программу на C с помощью командной строки.

Следующие шаги

Этот пример Hello, World является самой простой программой C. Реальные программы выполняют полезные действия и имеют файлы заголовков, дополнительные исходные файлы и ссылки на библиотеки.

Вы можете использовать шаги, описанные в этом пошаговом руководстве для C, для создания собственного кода, чтобы не вводить приведенный пример. Вы также можете выполнить сборку различных примеров кода на C, которые можно найти в других местах. Чтобы скомпилировать программу с дополнительными файлами исходного кода, введите их все в командной строке, например:

cl file1.c file2.c file3.c

Компилятор выдает программу с именем file1.exe. Чтобы изменить имя на program1.exe, добавьте параметр компоновщика /out:

cl file1.c file2.c file3.c /link /out:program1.exe

Чтобы автоматически перехватывать другие ошибки программирования, рекомендуется выполнить компиляцию с помощью порога предупреждений /W3 или /W4:

cl /W4 file1.c file2.c file3.c /link /out:program1.exe

Компилятор cl.exe имеет множество других параметров, которые можно применять для создания, оптимизации, отладки и анализа кода. Чтобы просмотреть краткий список, введите cl /? в командной строке разработчика. Можно также выполнять компиляцию и компоновку отдельно и применять параметры компоновщика в более сложных сценариях сборки. Дополнительные сведения о параметрах и использовании компилятора и компоновщика см. в справочнике по сборке для C/C++.

Для настройки и создания более сложных проектов в командной строке можно использовать NMAKE и файлы makefile либо MSBuild и файлы проекта. Дополнительные сведения об использовании этих средств см. в разделах Справочник по NMAKE и MSBuild.

Языки C и C++ похожи, но имеют различия. Компилятор Microsoft C/C++ (MSVC) использует простое правило для определения языка, используемого при компиляции кода. По умолчанию компилятор MSVC рассматривает все файлы с расширением .c как исходные коды на языке С, а файлы с расширением .cpp как исходные коды на языке С++. Если указан параметр компилятора /TC, компилятор будет рассматривать все файлы как исходные коды на языке С вне зависимости от расширения.

Компилятор MSVC совместим со стандартами ANSI C89 и ISO C99, но не полностью. В большинстве случаев переносимый код на языке C будет компилироваться и выполняться должным образом. Компилятор обеспечивает дополнительную поддержку изменений в ISO C11/C17. Чтобы выполнить компиляцию с поддержкой C11/C17, используйте флаг компилятора /std:c11 или /std:c17 . Для поддержки C11 и C17 требуется Windows SDK 10.0.20201.0 или более поздняя версия. Рекомендуется использовать Windows SDK 10.0.22000.0 или более позднюю версию. Последнюю версию пакета можно скачать на странице Windows SDK. Дополнительные сведения и инструкции по установке и использованию этого пакета SDK для разработки на языке C см. в статье Установка поддержки C11 и C17 в Visual Studio.

Некоторые функции библиотеки и имена функций POSIX являются нерекомендуемыми в компиляторе MSVC. Функции поддерживаются, но предпочтительные имена изменились. Дополнительные сведения см. в статьях Функции безопасности в CRT и Предупреждение компилятора (уровень 3) C4996.

Читайте также: