Онлайн-компиляторы C++

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

Список онлайн-компиляторов C++

Следующий список содержит информацию о доступных онлайн-компиляторах и их наиболее важных функциях. В зависимости от версий используемых компиляторов они поддерживают различные версии стандарта C++. Более подробные списки функций смотрите на этой странице: https://en.cppreference.com/w/cpp/compiler_support. Поскольку C++17 еще не полностью стандартизирован, он помечен звездочкой, где (большинство) ожидаемых функций C++17 доступны.

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

Wandbox

URLhttp://melpon.org/wandbox
КомпиляторыGCC 4.4.7 .. 8.0.0 (HEAD)

Clang 3.1 .. 5.0.0 (HEAD)

zapcc 1.0.1

C++ версияC++17*
Флаги компиляторавыпадающий выбор + свободный текст
Параметры времени выполненияда
Stdinда

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

Помимо стандартной библиотеки, он включает в себя несколько библиотек, включая Boost (до 1.64), Sprout и MessagePack. Скомпилированные программы работают в среде песочницы, которая позволяет выполнять файловый ввод-вывод. Версии моментальных снимков GCC и Clang, которые предоставляются, позволяют играть с последними функциями C++17.

В последние месяцы я широко использовал Wandbox, особенно для проверки образцов кода из книги C++17, которую я имел удовольствие просмотреть. Поскольку у него есть ГОЛОВНЫЕ версии как Clang, так и GCC, почти все функции C++17, которые я тестировал, были скомпилированы. Поэтому Wandbox в настоящее время является моим онлайн-компилятором, когда я хочу выполнить скомпилированную программу.

CompilerExplorer(Godbolt)

URLhttp://godbolt.org
КомпиляторыGCC 4.4.7 .. 8.0.0 (snapshot)

Clang 3.0 .. 5.0.0 (trunk)

MSVC 19/2017 (x86, x64)

icc 13, 16, 17 zapcc

190308

PowerPC gcc 4.8, PowerPC 64 6.3.0

MSP430 gcc4.5.3 .. 6.2.1

MIPS gcc 5.4 (32/64 бит, el)

elcc 0.1.33, 0.1.34

AVR gcc 4.5.4, 4.6.4

ARM64 gcc 5.4

ARM gcc4.5.4 .. 5.4.1

ARM CL 2017 RTW

 

C++ версияC++17*
Флаги компиляторасвободный текст
Параметры времени выполненияN/A
StdinN/A

CompilerExplorer-это IDE типа compile-as-you-type с уникальной функцией, поскольку она представляет сборку, созданную компиляторами. Полученный ассемблер можно сопоставить по цвету с исходным кодом C++. Он поддерживает использование разных источников и нескольких компиляторов одновременно, поэтому мы можем сравнить сборку, произведенную разными кодами и/или разными компиляторами, флагами оптимизации и т. Д.

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

В последнее время я часто использовал CompilerExplorer, чтобы поиграть с вычислениями времени компиляции, а также воспроизвести и уменьшить одну или две ошибки компилятора. Неудивительно, что в определенных кругах стал употребляться термин “богоборчество какого-то кода”.

Coliru

URLhttp://coliru.stacked-crooked.com
КомпиляторыGCC 4.6 .. 7.1

Clang 3.8

C++ версияC++17*
Флаги компиляторасвободный текст
Параметры времени выполнениясвободный текст
Stdinvialinuxshellpipe

Coliru предоставляет редактор и свободно редактируемую командную строку оболочки Linux, что делает ее относительно мощной. Например, вы можете сравнить выходные данные как Clang, так и GCC, выдав команды для компиляции и выполнения для обоих компиляторов. Редактирование нескольких файлов одновременно не поддерживается, но поскольку общий код сохраняется в архиве, вы можете использовать его для подготовки нескольких файлов (пример см. в разделе Часто задаваемые вопросы). Также можно загрузить, например, Gist через curl перед компиляцией.

Coliru предоставляет публичный API, поэтому его можно, например, интегрировать в веб-сайты cppreference.com, который использует Coliru для своих запускаемых примеров. Непосредственно после WandboxColiru-это другой компилятор, который я использую для выполнения кода C++ онлайн.

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

Rextester

URLhttp://melpon.org/wandbox
КомпиляторыGCC 4.4.7 .. 8.0.0 (HEAD)

Clang 3.1 .. 5.0.0 (HEAD)

zapcc 1.0.1

C++ версияC++14
Флаги компиляторавыпадающий выбор + свободный текст
Параметры времени выполненияда
Stdinда

Rextester-это стандартная онлайн-среда IDE, которая позволяет редактировать, компилировать, выполнять и совместно использовать отдельные файлы C++. В качестве отличительной особенности он позволяет создавать сеансы редактирования в реальном времени, чтобы несколько человек могли редактировать один и тот же источник одновременно и видеть правки друг друга в режиме реального времени.

Ideone

URLhttps://ideone.com/
КомпиляторыGCC 6.3.0
C++ версияC++14
Флаги компилятораfixed
Параметры времени выполненияnone
Stdinyes

Ideone-это стандартная онлайн-среда IDE, которая позволяет редактировать, компилировать, выполнять и совместно использовать отдельные файлы C++.

Компилятор Visual C++ Онлайн

URLhttp://webcompiler.cloudapp.net/
КомпиляторыMSVC 19/2017 (x86)
C++ версияC++14
Флаги компиляторауменьшенный набор
Параметры времени выполненияда
Stdinнет

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

C++ Shell

URLhttp://cpp.sh/
КомпиляторыGCC 4.9.2
C++ версияC++11
Флаги компиляторауменьшенный набор
Параметры времени выполненияда
Stdinстатический или интерактивный

Еще одна IDE для компиляции одного файла, но с редкой функцией интерактивного ввода stdin. Веб — приложение, кажется, иногда зависает во время компиляции или выполнения.

TutorialspointCodingGround

URLhttps://www.tutorialspoint.com/compile_cpp11_online.php
КомпиляторыGCC 4.8.5
C++ версияC++11
Флаги компиляторада
Параметры времени выполнениянет
Stdinда

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

Codepad

URLhttp://codepad.org/
КомпиляторыGCC 4.1.2
C++ версияC++03
Флаги компиляторауменьшенный набор
Параметры времени выполнениянет
Stdinнет

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

LoopPerfect C++ Fiddle

URLhttp://fiddle.jyt.io/

 

Компиляторынеизвестно
C++ версиянеизвестно
Флаги компилятораN/A
Параметры времени выполненияN/A
StdinN/A

C++ Fiddle утверждает, что является интерактивным интерпретатором/терминалом C++, но, похоже, сломан, или интерфейс настолько неочевиден, что его следует считать сломанным.

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

Компилятор Intel C++

Intel C++ Compiler также известен как ICC, доступный как для Linux, так и для Windows. Компиляторы Intel оптимизированы для компьютерных систем, использующих процессоры, поддерживающие архитектуру Intel. Он работает как с c, так и с c++.Скачать данный компилятор можно по ссылке: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html

Компилятор GNU

GNU CompilerCollection (GCC) — это компиляторная система, созданная проектом GNU. Первоначально он был разработан для языка C, но теперь поддерживает многие языки, такие как — C++, Java и т. д. Доступно как для Windows, так и для Linux. Скачать данный компилятор можно по ссылке: https://gcc.gnu.org/

Dev C++

Dev-C++-это полнофункциональный компилятор для языка программирования C/C++. Он использует порт Mingw GCC (GNU CompilerCollection) в качестве компилятора. Он также может быть использован в сочетании с Cygwin или любым другим компилятором на основе GCC. Доступно только для Windows. Скачать данный компилятор можно по ссылке: https://www.bloodshed.net/

Borland C++

Borland C++ — это IDE C и C++ для MS-DOS и MicrosoftWindows. Он хорош для начинающих, так как проще в использовании.Скачать данный компилятор можно по ссылке: https://borland-c.software.informer.com/5.5/

Clang

Clang предоставляет языковую интерфейсную и инструментальную инфраструктуру для языков семейства C (C, C++, Objective C/C++, OpenCL, CUDA).Clang считается хорошим компилятором для создания инструмента и повторного использования, а также интеграции с другими проектами. Доступно как для Windows, так и для Linux.Скачать данный компилятор можно по ссылке: https://clang.llvm.org/

Компилятор Visual C++

MicrosoftVisual C++ Compiler-это хороший компилятор для разработки приложений Windows. VisualStudio предоставляет пользователю массу вариантов выбора при первом запуске. Доступно как для Windows, так и для Linux. Ключевой особенностью Visual C++ является разработка архитектуры MFC, которая обеспечивает самые быстрые исполняемые файлы. Скачать данный компилятор можно по ссылке: https://visualstudio.microsoft.com/ru/vs/features/cplusplus/

MinGW

MinGW относится к набору заголовков среды выполнения, используемых при построении компиляторной системы на основе проектов GNU GCC и binutils(поддерживает как c, так и c++). Ключевое преимущество его заключается в том, что он быстр и прост и требует наличия DLL-библиотек. Это доступно только для Windows. Скачать данный компилятор можно по ссылке: http://www.mingw.org/wiki/MinGW

Tiny C Compiler

TinyCC (он же TCC) — это небольшой, но сверхбыстрый компилятор языка Си. В отличие от других компиляторов C, он предназначен для самостоятельной работы: вам не нужен внешний ассемблер или компоновщик, потому что TCC делает это за вас. Доступно только для c и windows.Скачать данный компилятор можно по ссылке: https://bellard.org/tcc/tcc-doc.html

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

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