Serve.cfg:language:cmd
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры языков/cmd
Имя переменной: | cmd |
Содержится в: | language |
Используется: | serve |
Тип содержимого: | string |
Может отсутствовать: | нет |
Может повторяться: | нет |
Описание. Данная конфигурационная переменная устанавливает программу, которая запускается для компиляции решения участника турнира. Как правило, эта программа не является непосредственно компилятором, а представляет собой скрипт, запускающий компилятор с необходимыми параметрами.
Программа компиляции, задаваемая этой переменной, запускается с двумя параметрами: первый параметр — имя исходного файла программы, второй параметр — имя файла, в который должен быть помещён результат компиляции. Программа запускается с текущим каталогом, установленным на рабочий каталог, в котором находится исходный файл, и должен находиться файл-результат. Стандартный поток вывода и стандартный поток ошибок перенаправляются в файл, который в случае неудачи компиляции будет использоваться как протокол запуска решения пользователя. Программа компиляции должна завершаться с кодом возврата 0, если компиляция завершилась успешно, и с любым другим кодом возврата в случае ошибки при компиляции.
Если значение конфигурационной переменной cmd начинается с символа ’/’, то есть задаёт абсолютный путь к программе, то используется этот путь. В противном случае полный путь к программе компиляции получается добавлением значения данной конфигурационной переменной cmd к значению глобальной конфигурационной переменной script_dir. Файл программы компиляции должен допускать выполнение, то есть иметь установленным бит x прав доступа.
Пример.
cmd = "gcc"