Онлайн-компиляторы C++
Онлайн-компиляторы могут быть полезными инструментами для быстрой компиляции фрагмента кода без необходимости установки соответствующего компилятора на наш компьютер. Они могут быть особенно полезны для игры с новейшими языковыми функциями, для обмена фрагментами кода в Интернете или для сравнения различных компиляторов.
Список онлайн-компиляторов C++
Следующий список содержит информацию о доступных онлайн-компиляторах и их наиболее важных функциях. В зависимости от версий используемых компиляторов они поддерживают различные версии стандарта C++. Более подробные списки функций смотрите на этой странице: https://en.cppreference.com/w/cpp/compiler_support. Поскольку C++17 еще не полностью стандартизирован, он помечен звездочкой, где (большинство) ожидаемых функций C++17 доступны.
Помимо простой компиляции, большинство онлайн-компиляторов также выполняют скомпилированную программу. Возможности параметризации компиляции с помощью флагов компилятора, передачи параметров командной строки/времени выполнения исполняемой программе и предоставления входных данных для стандартного ввода варьируются между различными компиляторами.
Wandbox
| URL | http://melpon.org/wandbox |
| Компиляторы | GCC 4.4.7 .. 8.0.0 (HEAD) |
Clang 3.1 .. 5.0.0 (HEAD)
Wandbox предоставляет практически все функции, которые вы хотели бы получить от типичного онлайн-компилятора, включая поддержку нескольких файлов и различных привязок клавиш редактора.
Помимо стандартной библиотеки, он включает в себя несколько библиотек, включая Boost (до 1.64), Sprout и MessagePack. Скомпилированные программы работают в среде песочницы, которая позволяет выполнять файловый ввод-вывод. Версии моментальных снимков GCC и Clang, которые предоставляются, позволяют играть с последними функциями C++17.
В последние месяцы я широко использовал Wandbox, особенно для проверки образцов кода из книги C++17, которую я имел удовольствие просмотреть. Поскольку у него есть ГОЛОВНЫЕ версии как Clang, так и GCC, почти все функции C++17, которые я тестировал, были скомпилированы. Поэтому Wandbox в настоящее время является моим онлайн-компилятором, когда я хочу выполнить скомпилированную программу.
CompilerExplorer(Godbolt)
| URL | http://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
PowerPC gcc 4.8, PowerPC 64 6.3.0
MSP430 gcc4.5.3 .. 6.2.1
MIPS gcc 5.4 (32/64 бит, el)
AVR gcc 4.5.4, 4.6.4
ARM gcc4.5.4 .. 5.4.1
ARM CL 2017 RTW
CompilerExplorer-это IDE типа compile-as-you-type с уникальной функцией, поскольку она представляет сборку, созданную компиляторами. Полученный ассемблер можно сопоставить по цвету с исходным кодом C++. Он поддерживает использование разных источников и нескольких компиляторов одновременно, поэтому мы можем сравнить сборку, произведенную разными кодами и/или разными компиляторами, флагами оптимизации и т. Д.
Проводник компилятора можно найти на GitHub и использовать локально. Я постоянно поражаюсь этому инструменту и его простоте использования. Почти мгновенная компиляция, пока вы печатаете, дает немедленную обратную связь, которую вы обычно получаете только от больших IDE.
В последнее время я часто использовал CompilerExplorer, чтобы поиграть с вычислениями времени компиляции, а также воспроизвести и уменьшить одну или две ошибки компилятора. Неудивительно, что в определенных кругах стал употребляться термин “богоборчество какого-то кода”.
Coliru
| URL | http://coliru.stacked-crooked.com |
| Компиляторы | GCC 4.6 .. 7.1 |
Coliru предоставляет редактор и свободно редактируемую командную строку оболочки Linux, что делает ее относительно мощной. Например, вы можете сравнить выходные данные как Clang, так и GCC, выдав команды для компиляции и выполнения для обоих компиляторов. Редактирование нескольких файлов одновременно не поддерживается, но поскольку общий код сохраняется в архиве, вы можете использовать его для подготовки нескольких файлов (пример см. в разделе Часто задаваемые вопросы). Также можно загрузить, например, Gist через curl перед компиляцией.
Coliru предоставляет публичный API, поэтому его можно, например, интегрировать в веб-сайты cppreference.com, который использует Coliru для своих запускаемых примеров. Непосредственно после WandboxColiru-это другой компилятор, который я использую для выполнения кода C++ онлайн.
Немного менее современные компиляторы и неудобный способ работы с несколькими файлами, если они вам нужны, делают его хуже Wandbox, на мой взгляд. Однако, если эти два пункта не являются для вас проблемой, то бесплатная параметризация с помощью команд оболочки является большим плюсом.
Rextester
| URL | http://melpon.org/wandbox |
| Компиляторы | GCC 4.4.7 .. 8.0.0 (HEAD) |
Clang 3.1 .. 5.0.0 (HEAD)
Rextester-это стандартная онлайн-среда IDE, которая позволяет редактировать, компилировать, выполнять и совместно использовать отдельные файлы C++. В качестве отличительной особенности он позволяет создавать сеансы редактирования в реальном времени, чтобы несколько человек могли редактировать один и тот же источник одновременно и видеть правки друг друга в режиме реального времени.
Ideone
| URL | https://ideone.com/ |
| Компиляторы | GCC 6.3.0 |
| C++ версия | C++14 |
| Флаги компилятора | fixed |
| Параметры времени выполнения | none |
| Stdin | yes |
Ideone-это стандартная онлайн-среда IDE, которая позволяет редактировать, компилировать, выполнять и совместно использовать отдельные файлы C++.
Компилятор Visual C++ Онлайн
| URL | http://webcompiler.cloudapp.net/ |
| Компиляторы | MSVC 19/2017 (x86) |
| C++ версия | C++14 |
| Флаги компилятора | уменьшенный набор |
| Параметры времени выполнения | да |
| Stdin | нет |
Витрина Microsoft для своего самого современного компилятора. Он позволяет компиляцию одного файла, запуск исполняемого файла после компиляции является необязательным. Обновление: Этот онлайн-компилятор, похоже, уже некоторое время находится в автономном режиме.
C++ Shell
| URL | http://cpp.sh/ |
| Компиляторы | GCC 4.9.2 |
| C++ версия | C++11 |
| Флаги компилятора | уменьшенный набор |
| Параметры времени выполнения | да |
| Stdin | статический или интерактивный |
Еще одна IDE для компиляции одного файла, но с редкой функцией интерактивного ввода stdin. Веб — приложение, кажется, иногда зависает во время компиляции или выполнения.
TutorialspointCodingGround
| URL | https://www.tutorialspoint.com/compile_cpp11_online.php |
| Компиляторы | GCC 4.8.5 |
| C++ версия | C++11 |
| Флаги компилятора | да |
| Параметры времени выполнения | нет |
| Stdin | да |
Онлайн-IDE с несколькими файлами. Все веб-приложение иногда кажется вялым, я не мог зарегистрироваться, чтобы попробовать функции, требующие входа в учетную запись, такие как сохранение или загрузка целых проектов (сломанная ссылка/не отвечающее веб-приложение).
Codepad
| URL | http://codepad.org/ |
| Компиляторы | GCC 4.1.2 |
| C++ версия | C++03 |
| Флаги компилятора | уменьшенный набор |
| Параметры времени выполнения | нет |
| Stdin | нет |
Codepad может быть неинтуитивным – вставка нового кода на месте ранее вставленного кода приведет к возврату к исходному коду. Код будет скомпилирован и выполнен как есть без какой-либо возможности дальнейшей его параметризации.
LoopPerfect C++ Fiddle
C++ Fiddle утверждает, что является интерактивным интерпретатором/терминалом C++, но, похоже, сломан, или интерфейс настолько неочевиден, что его следует считать сломанным.
Бесплатные лучшие онлайн компиляторы
Веб разработка
В последнее время компиляторов становится все больше и больше, да и количество программистов по всему миру неустанно растет. Поэтому новички часто теряются и не знают, что выбрать, куда податься, когда хотят впервые написать код. Чтобы облегчить вашу жизнь и сократить время поиска, была создана эта статья.
Coliru

Coliru – это самый простой и удобный вариант для легких кодов на Cи и C++. В нем нельзя одновременно компилировать сразу несколько файлов, однако есть архив, в котором можно все сохранить и после делиться сохраненным с другими пользователями. Также достоинством Coliru является общедоступность и отсутствие каких-либо подписок и регистраций, но из-за этого его функционал может показаться менее современным, чем у других компиляторов.
C++ Compiler Explorer

Как уже ясно из названия компилятор поддерживает язык C++, однако есть поддержка и других языков, типа Python, Ada, Fortran. Обычно этот сервис используют для обучения и экспериментов.
Не так давно у компилятора появилась новая функция – анализ кода через PVS – Studio или cland-tidy. Это очень удобно, кстати, очень удобно для выполнения работ в университете, например, лабораторных, ведь можно сразу же выяснить ошибки в коде, в его синтаксисе. Однако многофайловый проект Compiler Explorer может не потянуть. Также некоторые пользователи просят добавить разработчиков дополнительные синтаксические анализаторы.
Компилятор полностью бесплатный, но также есть система донатов и спонсорство.
Codechef

Платформа поддерживает такие языки программирования, как:
- C++
- JAVA
- Python
- C#
- PHP
- и множество других. Этот компилятор так же как и предыдущий абсолютно бесплатен .
Для практики и совершенствований своих навыков можно участвовать в соревнованиях. Вы выполняете задания, которые, кстати, бывают очень сложными, и практикуетесь в написании кода. Некоторые пользователи отмечают плохую работу менеджеров и отсутствие простора для самостоятельности. Хотя, конечно же, в компиляторе вы можете писать любой код, просто задания, которые выдает платформа, не подстроены под каждого.
Rextester

Очень простой и удобный онлайн-компилятор со стильным интерфейсом, который позволяет работать с:
- C#
- C++
- Python
- Java
- Pascal
- PHP
- Ruby
Кодами можно делиться на форумах или в сообщениях с друзьями по ссылке. Также стоит отметить, что сервис абсолютно бесплатный, и это, несомненно, радует пользователей.
Codiva.io

Codiva — это онлайн-компилятор и IDE для C, C ++ и Java.
Его функции и преимущества:
- Начинает работать менее чем через секунду
- Компилирует код по мере ввода
- Есть автозаполнение, которое помогает сократить время работы
- Есть возможность компилировать в мобильной версии
Обычно компилятор используется студентами, и по отзывам пользователей является одним из лучших онлайн-сервисом. Хотя в нем есть несколько минусов, например, он поддерживает лишь три языка программирования, а еще он не предлагает темы пользовательского интерфейса или другие настройки компилятора.
Tutorialspoint CodingGround

Бесплатный онлайн-компилятор, который поддерживает более 75 языков программирования и имеет удобный функционал. Также есть огромная библиотека руководств в виде книг и видео, доступ к которой можно получить через оформление подписки. Еще в бесплатном доступе есть видео на YouTube, через которые можно получить много новой информации.
PaizaCloud

Универсальный компилятор, среда для веб-разработки, которая поддерживает:
- Ruby on Railse
- JavaScript
- Python
- C++
- Java (Tomcat)
- PHP (LAMP)
Компилятор подходит, как для новичков, так и для профессиональных программистов, поэтому его функционал понятен и прост. Достаточно лишь подключение к Интернету и браузер, поэтому неважно какая ОС установлена на вашем компьютере или ноутбуке. Также стоит отметить, что такие базовые среды, как LAMP, JSP, Django, Go уже установлены и настроены для вашего удобства.
Пользоваться компилятором можно как бесплатно, так и купив подписку. Рассмотрим различия между бесплатным планом и самым дорогим за $19.8
Бесплатный:
- Срок службы сервера: 24 часа
- Работает максимум 4 часа
- Доступные сервера: 1
- CPU: 2 ядра, MEM: 2 GB, Disc: 4 GB
Базовый:
- Срок службы сервера: безлимитный
- Публикация сервера: Есть
- Доступные сервера: 1 всегда включен + 3 ограниченного времени использования
- CPU: 2 ядра, MEM: 2 GB, Disk: 4 GB
Исходя из этого, можно понять, что бесплатный вариант довольно-таки неудобен для постоянного использования. И это является главным минусом для программистов. Хотя купив подписку, этот недостаток испарится.
replit

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

Типичный онлайн-компилятор, который обычно используют программисты, пишущие коды на C++. Хотя Wandbox поддерживает и JavaScript, и PHP, и Go, и C. Есть стандартная библиотека и несколько дополнительных, например, Boots, Sprout. Скомпилированные программы запускаются в изолированной среде, которая допускает файловый ввод-вывод.
Весь функционал компилятора бесплатный, не нужна даже регистрация. В редакторе есть необходимая подсветка синтаксиса и проверка на ошибки.
Ideone

Бесплатный компилятор, поддерживающий основные, популярнейшие языки программирования, типа C++, Java, Python, PHP, C, C# и множество других. Есть образцы программы для каждого языка, чтобы новичкам проще было ориентироваться. Выделение синтаксиса и проверка на ошибки есть, как и в любом другом компиляторе. Хоть Ideone и являлся раньше основой онлайн-компиляторов, сейчас он уходит немного в прошлое, например, он так и не был обновлен до Java 9.
OnlineGDB

Поддерживая лишь самые популярные языки программирования, типа Java, Python, C++, C, Ruby, OnlineGDB стал одним из постоянных фаворитов у программистов. По производительности компилятор очень мощный, поэтому загружается и выдает результат он мгновенно.
Его достоинства и функции:
- Это первая в мире онлайн-среда IDE, которая предоставляет возможность отладки со встроенным отладчиком gdb.
- Код можно легко отформатировать, чтобы он выглядел красиво
- Платформа защищена от неожиданных сбоев
- Быстрая проверка на ошибки
JDOODLE

Бесплатный онлайн-компилятор, который можно запустить в любое время и на любом устройстве без каких-либо настроек. Поддерживает компилятор около 70 языков программирования и интерактивные онлайн-терминалы для MySQL и MongoDB.
Так как JDOODLE подходит для многих старых языков его использовать очень удобно, так как часто в других компиляторах их нет. Идеально подходит для работы в команде, так как программы можно сохранять и делиться с другими как URL. История выполнения также хранится в облаке и в ней легко можно посмотреть, какие коды вы писали ранее.
Для удобства и эстетического удовольствия можно менять тему и изменять размер шрифта.
Заключение
Все выводы по онлайн-компиляторам были сделаны на основе отзывов реальных пользователей, поэтому некоторых ошибок, которые были у других людей, можно никогда не встретить, или, наоборот, напороться на другие. Однако это были самые популярные и удобные онлайн-компиляторы на данный момент.
Лучшие онлайн компиляторы

Бесплатные онлайн компиляторы и интерпретаторы очень полезны, когда вы хотите проверить код или срочно реализовать какую-нибудь идею, когда нет доступа к системе со всеми необходимыми инструментами для полноценной компиляции.
Некоторые из этих онлайн компиляторов и интерпретаторов обеспечивают поддержку старых и редких языков программирования, а также различные среды выполнения, например, старую DOS, это может быть очень полезным для студентов или тех, кто хочет узнать побольше об этих языках, но не хочет ничего устанавливать на свой компьютер.
Для многих языков программирования нужно потратить много времени, чтобы подготовить среду. Нужно скачать много файлов и выполнить много настроек. Бесплатные онлайн компиляторы могут сэкономить много времени. Это действительно отличные ресурсы. Ну а теперь давайте перейдем к нашему списку.
1. codepad.io

Codepad — это набор инструментов для компиляции и выполнения программ, которые позволяют работать над кодом совместно. Просто вставьте свой код в редактор Codepad и вы уже можете его скомпилировать и выполнить. Также сервис дает вам ссылку, с помощью которой вы можете поделиться своим кодом с друзьями в чатах или по электронной почте.
Сервис имеет достаточно простой интерфейс, но поддерживает много языков программирования, среди них Си, C++, D, Haskell, Lua, OCaml, PHP, Perl, Plain Text, Python, Ruby и Tcl. Интерфейс не интерактивный, вы набираете программу, затем она отправляется на сервер, компилируется и вы получаете результат выполнения.
2. remoteinterview.io

Это онлайн компиляторы Си и С++, ориентированные в первую очередь на разработчиков Си. Но, кроме этого, эта отличная IDE поддерживает еще более десятка языков программирования, а также возможность делиться своим кодом с друзьями.
Интерфейс выглядит красиво и современно. Вы можете выбрать светлую или темную тему для онлайн редактора. Также доступны различные сочетания клавиш, причем вы можете выбрать один из вариантов — горячие клавиши Sublime, Vim или Emacs. Особенно полезными среди всех поддерживаемых языков есть интерпретаторы PHP и Python. На домашнем компьютере вечно может не хватать какой-либо библиотеки, а здесь вы можете быстро проверить небольшой кусок кода ничего не устанавливая.
3. ComeauComputing.com

Это очень простой, но и достаточно настраиваемый онлайн компилятор для Си и C++. Поддерживаются только эти языки, но поддерживаются очень хорошо, здесь реализованы почти все возможности, которые есть в оригинальном Си. Кроме того, перед выполнением можно задать очень много настроек, таких как: платформа, версия Си, дополнительные функции и версия компилятора.
4. C++ Compiler Explorer

Это уникальный компилятор, который представляет из себя инструмент для интерактивного исследования того, как ваш код собирается в готовую программу.
Компилятор gcc.godbolt.org использует компилятор C++ и выполняет преобразование кода C++, в машинный код, потому это очень удобный инструмент для экспериментов, отладки и обучения.
Иногда лучший способ понять часть кода, это увидеть как она выглядит на уровне железа. Синтаксис высоко двухуровневого языка не может сказать вам о программе все, слишком много моментов и тонкостей скрыто. Вы можете выбрать версию компилятора, с помощью которой хотите собирать программу, например, gcc-6, gcc-5 или clang, Сервис сразу находит ошибки в коде, а также вы можете выбрать стиль отображения машинного кода, например, синтаксис Intel или AT&T.
5. ideone

Ideone — это онлайн компилятор и инструмент отладки с поддержкой множества языков программирования. Поддерживается больше языков, чем в любом другом варианте, среди поддерживаемых C++, D, Javascript, Cofee Script, R, Rust, Scala, Node.js, Ruby, Python, Perl, Go и многие другие. Также здесь есть онлайн компиляторы java для разных версий. Всего поддерживается более 60 языков программирования и их модификаций. Вы можете писать код, проверять его на ошибки, компилировать и сразу же выполнять программу.
6. hackerearth

Этот интернет компилятор и интерпретатор поддерживает больше десяти языков программирования. Редактор исходного кода поддерживает совместную работу в реальном времени, это значит, что вы можете увидеть как редактируют код ваши друзья в реальном времени. Работа сервиса очень похожа на работу документов Google. Этот инструмент делает онлайн программирование намного быстрее и проще. Поддерживается достаточно много языков, как системных, так и веб. Интерфейс достаточно современный и выглядит красиво.
7. repl.it

Очень простой компилятор, сначала выберите нужный язык программирования на домашней странице, затем пишите код. Интерфейс редактора состоит из двух столбцов, первый — сам редактор, второй — консоль. Также в редакторе поддерживаются сочетания клавиш Vim и Emacs. Чтобы завершить набор кода и перейти к выполнению просто нажмите Ctrl+Enter. В редакторе есть подсветка синтаксиса и автодополенение, которое поможет вам программировать быстрее.
8. CompileOnline.com
Это одна из самых простых платформ для программирования в интернете. Здесь поддерживается много популярных языков программирования, а также есть удобный и простой интерфейс. Вы можете писать на таких языках, как C, C++, Fortran, Java, JavaScript, Python, Rerl и т д.
Кроме того, на сайте вы найдете некоторые учебные материалы по программированию, правда, на английском. Также для большинства языков есть по несколько примеров, например, есть программа hello world для C++, поэтому вам не нужно писать элементарные вещи.
9. onlinecompiler.net
Это последний сервис в нашем списке лучшие онлайн компиляторы, он может показаться немного сложным, но также достаточно функционален. Поддерживаются языки программирования C/C++, Fortran, Java, Pascal, Basic. Конечно, программы можно писать, компилировать и выполнять. Но ко всему прочему здесь есть библиотека программ других пользователей, в которой вы можете найти что-то полезное для себя, а также прочитать комментарии и обсуждения.
Выводы
В этой статье были рассмотрены лучшие онлайн компиляторы, которые вы можете использовать для программирования на большинстве из популярных языков. А вы пользуетесь такими сервисами? Какие сайты используете? Ваши любимые есть в списке? Напишите в комментариях!
Online C / C++ Compiler
Online CPP is a super fast and instant tool that allows you run the C / C++ programming laguages on the fly in your favourite browser without need to worry about the installation and setting up the programming environment in your system. This tool is strongly backed by its blazing fast compiler that makes it one of the quickest, robust and powerful online compilers on the internet. You can build, run & share your C / C++ programs online usng this tool for free. The program / project that you have built can be saved online by using the SHARE option that enables you to access your code anywhere using internet.
About C
C is a general purpose programming language, one of the powerful language that has inspired and influenced many other languages like Java, Python, Perl, Java, PHP, Ruby. C is widely used to build operating systemns and embedded system applications. Its origin is closely tied to the development of UNIX operating system. Compilers and Interpreter of many other programming languages are implemented using C. Its basic features and the control structures are directly and indirectly adopted by other programming languages.
C was originally developed at Bell Labs by Dennis Ritchie between 1972 and 1973. It was successor to the programming language B. Around 1980, C has become most widely used programming language. C provides contructs that maps the high level program to machine instrutions more efficiently which makes it one of the fastest in terms of code execution.