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.