Как настроить компилятор gcc на стороне сервера и попросить его запускать коды, загруженные клиентом?

Должен быть создан онлайн-компилятор C / C ++, где клиенты могут загружать свои коды на стороне сервера, а сервер запускает его с помощью компилятора gcc.
Основная проблема заключается в том, как настроить gcc на локальном сервере и дать ему команду выполнить код и вернуть результаты клиенту?

1

Решение

Самый простой подход к этому не требует какой-либо конкретной настройки для gcc. Вам просто нужно извлечь загруженный файл (ы), поместить его в определенный каталог и вызвать gcc <flags> mycode.cxx -o mycode (используя, например, shell_exec, как указано в некоторых других ответах) или какие-либо шаги компиляции, которые вы хотите выполнить оттуда. Хорошей идеей было бы проверить gcc stdout а также stderr а также, конечно, код выхода подпроцесса. Если все пойдет хорошо, то получившийся исполняемый файл будет в том месте, где вы спрашиваете gcc поставить его, так что вы просто должны прочитать его и получить его.

Обратите внимание, что это слишком упрощенное описание проблемы: оно не обрабатывает длительные времена компиляции, которые могут привести к тайм-аутам, и не учитывает проблемы безопасности (если таковые имеются), которые могут возникнуть, но я надеюсь, что это может помочь вам начать составление чего-либо ,

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]