Перейти к содержимому

Какой компилятор c выбрать для windows

  • автор:

Выбор компилятора C++ в Windows [закрыт]

Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.

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

Закрыт 6 лет назад .

Посоветуйте, пожалуйста, компилятор C++ для Windows, чтобы его можно было использовать в таких программах как CLion, CodeBlocks и Geany. Раньше использовал mingw, но он, вроде, больше не поддерживается. Компилятор встроенный в Visual Studio вроде бы (?) нельзя использовать в Geany, поэтому Visual Studio не подходит.

Отслеживать
user268670
задан 12 дек 2017 в 20:30
user268670 user268670
1,011 3 3 золотых знака 13 13 серебряных знаков 25 25 бронзовых знаков
Возьмите Visual Studio Community Edition.
12 дек 2017 в 20:37
12 дек 2017 в 20:42
@Harry спасибо за совет, но, к сожалению, в силу некоторых причин Visual Studio не подходит
12 дек 2017 в 20:43
Поставьте MSYS 2, там есть и mingw и clang.
12 дек 2017 в 20:45
Есть сайт, на котором MinGW регулярно обновляется. Попробуйте воспользоваться.
13 дек 2017 в 5:10

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Во-первых, MinGW постоянно обновляется и дорабатывается (ссылка — здесь). Это очень популярный компилятор, и я не понимаю причин его менять на что-либо. Если кто-то и думает, что MinGW — это буковки и циферки, прыгающие в консоли, то он сильно ошибается. К тому же что еще можно предложить для обучения?

Во-вторых, при установке Code::Blocks предлагается выбор компилятора. Это значит, что Вы можете выбрать и MinGW, и любую версию Microsoft Visual C++, и любой другой компилятор.

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

Отслеживать
ответ дан 13 дек 2017 в 14:08
Даниил Чижевский Даниил Чижевский
2,307 3 3 золотых знака 14 14 серебряных знаков 39 39 бронзовых знаков

  • c++
  • windows
  • компилятор
    Важное на Мете
Похожие

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Какой компилятор выбрать для C++?

Решил выйти за пределы паскаля и начать изучение C++. Какие посоветуете компиляторы, и чем они отличаются?
ОС: Windows.

  • Вопрос задан более трёх лет назад
  • 13471 просмотр

Комментировать
Решения вопроса 1
Владимир Мартьянов @vilgeforce
Раздолбай и программист
Visual Studio ставьте и не задавайтесь этим вопросом в ближайшие пару лет.
Ответ написан более трёх лет назад
Нравится 5 6 комментариев

GavriKos

Только VS это IDE. В комплекте которого есть компилятор от майкрософта. Но его можно подключить к другой IDE, равно как и в VS можно подключить другой компилятор. Но сути это не меняет — новчикам — VS/

Adamos

GavriKos: VS — это не только IDE. Это еще и приговор для кругозора. Жесткое ограничение его одной платформой и, как результат, неумение обойтись без Студии в работе.
Я бы рекомендовал QtCreator, но школяры такие советы все равно не слушают. Винда же — эталон, мы все так говорим.

Владимир Мартьянов @vilgeforce

Adamos: Студия — отличная IDE, и то, что после нее не пересесть на всякие там Eclipse и прочее жабное овно — не проблема студии, а проблема жабного овна.

Adamos

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

Владимир Мартьянов @vilgeforce
Adamos: Пруткова читал, вопрос про целевую платформу не читал, а уже начинаете про кругозор.

Adamos

Владимир Мартьянов: в вопросе говорится о том, на чем студент сидит, а не о том, подо что ему придется писать, когда (и если) он таки научится. Тем более, что он и сам этого знать не может. Впрочем, пополнив стройные ряды программистов на ВижуалСтудии, он сильно затруднит себе выбор.

Ответы на вопрос 1

TrueBers

Гуглю за еду

Самый древний и популярный компилятор — это GCC. Он поддерживает миллиард платформ, хорошо фичи новых стандартов умеет, стабильный, быстрый. Классика, работающая всегда и везде. Версия для винды ставится либо из Mingw-w64, он довольно прилично отстаёт от основной ветки, но работает неплохо. Либо можно поставить из пакета MSYS2, там всё свежее и постоянно обновляется.

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

Ну, и самый, на мой взгляд, прогрессивный и удобный компилятор — clang. Очень молодой, но очень фичастый. Очень удобные сообщения об ошибках, всё понятно и наглядно. Поддерживает даже черновики и пропозалы новейших стандартов. Для новичка, более чем, рекомендую! Поставить его для винды можно всё из того же пакета MSYS2. Можно, конечно, качать сборку с официального сайта, но она не всё поддерживает в винде. Ещё есть вариант поставить clang вместе с Visual Studio 2017 Community. Там есть такая фича, не пробовал, правда, но в теории, должно работать.

В качестве IDE ещё могу посоветовать Clion. Крутая штука, хоть и тормознутая малость. Из мелких и легковесных — juci. Очень шустрая современная штука, правда, пока не особо чего умеет.

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

Как выбрать и настроить компиляторы C++ вручную в Windows?

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

  1. Чтобы перейти в меню «Options», выберите «Tools» ► «Options».
  2. Выберите «Global» ► «Compiler».
  3. Если желаете выбрать уже сконфигурированный компилятор, выберите идентификатор компилятора в раскрывающемся меню «Selected compiler».
  4. В противном случае добавьте новую конфигурацию компилятора в System Modeler:
    1. Выберите «Custom» в раскрывающемся меню «Selected compiler».
    2. Выберите имя поддерживаемого, выбранного вами компилятора в раскрывающемся меню «Compiler».
    3. Если раскрывающееся меню «Version» становится активным, выберите версию компилятора из предложенных вариантов.
    4. Нажав кнопку «Browse», появится диалоговое окно для выбора папки, содержащей конкретный исполняемый файл компилятора.

    5. Выберите нужный файл в диалоговом окне и нажмите «Open». Возможные расположения включают:

    • Для файла VsDevCmd.bat Visual Studio 2017:
      C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\Tools\VsDevCmd.bat
    • Для файла VsDevCmd.bat Visual Studio 2019:
      C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat

    Путь к исполняемому файлу компилятора можно найти в “Path to ”.

  5. Нажмите «Verify Compiler», чтобы убедиться, что System Modeler успешно обнаруживает сконфигурированный компилятор. В случае успеха появится диалоговое окно «Compiler verification succeeded».
  • Нажмите «Apply» чтобы сохранить настройки.
  • Нажмите OK, чтобы закрыть окно диалога.
  • Лучшие компиляторы кода и IDE для C++

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

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

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

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

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

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

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

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

    Комьюнити теперь в Телеграм
    Подпишитесь и будьте в курсе последних IT-новостей

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

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

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

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

    Топ лучших компиляторов и 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

    Это проприетарная программная платформа для разработки с использованием языка С++. Также Visual Studio поддерживает другие часто используемые языки: Node.js, Python, а также С#.

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

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

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

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

    Xcode

    Тип: IDE

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

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

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

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

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

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

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

    g++

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

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

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

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

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

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

    • Открыть терминал.
    • С помощью команды cd перейти в директорию с исходным кодом программы.
    • Ввести команду g++ название файла в формате .cpp

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

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

    Dev-C++

    Тип: 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» и смотрите на результат. Никаких настроек, опций и дополнительных функций тут нет. Максимально примитивный, но все еще эффективный инструмент.

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

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

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *