Инструменты пользователя

Инструменты сайта


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

Иногда нужно быстро проверить работоспособность какой-то идеи или алгоритма. Хорошо, когда у вас Linux и какая-то система из семейства Unix с установленным компилятором (имхо, в 90% случаев это будет правдой), вам просто нужно открыть консоль вызвать vim/emacs/joe/mcedit/etc набросать программку и вызвать компилятор. Но иногда вы в гостях/командировке/интернет-кафе, в общем тогда, когда компилятора нет под рукой, но есть доступ в интернет. Тут помогут онлайн-компиляторы.

Отправной точкой можно взять этот сайт: http://isocpp.org/blog/2013/01/online-c-compilers

Из перечисленных там, мне понравились следующие:

    • Плюсы:
      • C++14 стандарт (компилятор gcc 4.9.2)
      • Можно шарить код + оставить аннотацию к нему (нажать «More options»)
      • Можно задать данные которые отошлются на STDIN программы
    • Минусы:
      • Нельзя задать параметры сборки
      • Нельзя передать параметры командной строки
      • Других стандартов C++ нет (С++98/03, C++11)
    • Плюсы:
      • C++98, C++11, C++14 - по выбору (GCC 4.9.2)
      • Различные уровни оптимизации: O0, O1, O2, O3
      • Поддержка предупреждений: Wall, Wextra, Wpedantic
      • Boost 1.55 (больше никто не предоставляет)
      • Можно шарить код
      • Ввод через стандартный ввод: интерактивный (этого нет ни у кого больше) и текст
      • Простой короткий URL :-)
      • Сразу большое окно редактора
    • Минусы
      • Только C++
      • Нет работы с файлами
      • Не понимает завершения процесса по сигналу
    • Плюсы:
      • Последняя версия компилятора
      • Можно выбрать компилятор (по крайней мере gcc 4.6 там есть)
      • Можно задать параметры сборки
      • Автоматически сохраняет код между запусками браузера
      • Можно использовать для шаринга кода (внизу кропка Share)
      • Можно передать параметры программе через аргументы командной строки
      • Много шоркатов
    • Минусы:
      • Неудобно выбирать копилятор - только методом перебора :)
      • Я не придумал способ передать параметры программе, кроме как через аргументы командной строки (не возможность использовать входной файл или stdin)
      • Язык только (?) C/C++
    • Плюсы:
      • Поддерживается достаточно много языков программирования
      • После обновления можно задать параметры сборки: Project → Compile Options
      • Можно передать параметры программе через командную строку, через файл (input.txt) и через stdin: сейчас всё несколько изменилось, можно внучную запускать программу в терминальной сессии, передавать параметры, можно залить файл с данными с произвольным именем и уже с ним манипуляции производить
      • Можно собирать несколько файлов в одни проект
    • Минусы
      • После переезда что бы запустить программу нужно сначала нажимать Compile, только потом Run
      • Сессия терминала как-то нестабильно себя ведёт
      • Нет возможности выбрать разные версии компиляторов
      • Нет возможности шарить код
      • Не самый новый компилятор GCC
  • http://gcc.godbolt.org/ - тут укажу один минус сразу: он только компилирует, но не выполняет код и отображает ассемблерный листинг, что удобно для анализа всяких оптимизаций.
    • Плюсы:
      • Много разных компиляторов и их версий: gcc (4.4-4.8), arm-gcc (4.5-4.6), avr-gcc (4.5), mps430-gcc (4.5), clang (3.0), icc (13.0.1)
      • Показывает ассемблерный выход
      • Можно задать параметры компиляции
      • Можно шарить код
    • Минусы:
      • Собственно указан выше, остальные рассматривать даже не приходится

Комментарии