Serve.cfg:language:cmd

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры языков/cmd

Имя переменной: cmd
Содержится в: language
Используется: serve
Тип содержимого: string
Может отсутствовать: нет
Может повторяться: нет

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

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

Если значение конфигурационной переменной cmd начинается с символа ’/’, то есть задаёт абсолютный путь к программе, то используется этот путь. В противном случае полный путь к программе компиляции получается добавлением значения данной конфигурационной переменной cmd к значению глобальной конфигурационной переменной script_dir. Файл программы компиляции должен допускать выполнение, то есть иметь установленным бит x прав доступа.

Пример.

cmd = "gcc"