Serve.cfg:global:enable run props
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Глобальные конфигурационные параметры/enable_run_props
Если переменная установлена в положительное значение, результатом компиляции программы может быть не только исполняемый файл, как в предыдущих версиях, но и дополнительный файл со свойствами скомпилированной программы.
При включенном enable_run_props компонент ej-compile передаёт скрипту компиляции не два, а три
аргумента командной строки:
- имя файла с исходным кодом;
- имя файла, в который должен быть записан результат компиляции;
- имя выходного файла с дополнительными свойствами скомпилированной программы.
Если скрипт компиляции не создал выходной файл со свойствами, это не рассматривается как ошибка, а в дальнейшем скомпилированная программа передаётся на выполнение по обычной схеме.
Файл со свойствами должен быть корректным JSON-файлом с одним объектом со следующими атрибутами:
start_cmd— путь к интерпретатору, который должен использоваться для запуска программы на исполнение;start_args— аргументы командной строки для интерпретатора;start_env— переменные окружения, которые должны быть установлены при запуске тестируемой программы на выполнение;is_archive—
Если is_archive равен true, должен быть указан start_cmd.
Если is_archive не задан или равен false, последним аргументом командной строки
запуска всегда добавляется имя исполняемой запускаемой программы, имя не нужно явно записывать
в start_args.
Если start_args не задан, он формируется автоматически из start_cmd.
Например, скрипт для "компиляции" питон-программ может генерировать следующий JSON:
{
"start_cmd": "/bin/python3",
"start_args": [ "/bin/python3", "-s" ]
}
Поддерживается начиная с версии 3.13.0.