Внешние команды в контроллере - PullRequest
0 голосов
/ 31 июля 2010

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

1 Ответ

1 голос
/ 31 июля 2010

Kernel.system может указывать команду, которую вы ищете: она вызывает системный процесс. Например:

if (system("gcc ..."))
  @output_to_show = %x['./compiled']
end

Предполагая, что ваш сервер находится в Linux / UNIX, было бы хорошо отделить процесс компиляции и выполнения от сервера веб-сайта, чтобы снизить риски безопасности (создавая нового пользователя только для этой цели). Или вы можете доверять содержимому cpp-файлов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...