Как принимать только функции?
Как настроить турнир так, чтобы на проверку принимались не полные тексты программ, а только функции, написанные участниками?
То есть участники пишут не всю программу, а только её небольшую часть.
Остальная же часть программы добавлялась бы самой системой.
То есть участники пишут не всю программу, а только её небольшую часть.
Остальная же часть программы добавлялась бы самой системой.
Re: Как принимать только функции?
Смотрите параметры задачи source_header и source_footer
Re: Как принимать только функции?
Спасибо, попробовал, работает.
Re: Как принимать только функции?
Возник вопрос. Перед компиляцией текст собирается из нескольких частей. Сейчас в версии 2.3.19 сделано так, что предварительную стилевую проверку проходит весь собранный текст. Если возникает ошибка, то у меня мой стилевой чекер распечатывает весь проверяемый текст до места стилевой ошибки, включая добавленные части (всегда то, что добавилось в начале ).
Как сделать так, чтобы стилевую проверку проходил только файл, сданный пользователем? (а не то, что получается после добавления - header и footer).
Как сделать так, чтобы стилевую проверку проходил только файл, сданный пользователем? (а не то, что получается после добавления - header и footer).
Re: Как принимать только функции?
Никак. Я думаю, можно модифицировать проверку стиля таким образом, чтобы не выводился текст,
отмеченный какими-нибудь специальными комментариями.
отмеченный какими-нибудь специальными комментариями.
Re: Как принимать только функции?
А есть ли возможность, в зависимости от языка вставлять разные header?
Или как сделать так, чтобы именно для этой задачи можно было инклюдить свой файл? Тоесть чтобы работал #include "myheader.h"?
Или как сделать так, чтобы именно для этой задачи можно было инклюдить свой файл? Тоесть чтобы работал #include "myheader.h"?
Re: Как принимать только функции?
http://ejudge.ru/wiki/index.php/%D0%A4% ... 0%BA%D0%B8
Можно написать
Форматные подстановки языков программирования есть в текущей версии SVN и будут в следующей версии.
Можно написать
Code: Select all
source_header = "header_%Ln%Ls"
Re: Как принимать только функции?
это печально, на нашем сайте 2.3.17
Re: Как принимать только функции?
а что по-поводу заголовочных файлов для конкретной задачи? Чтобы во время компиляции исходника в папке лежали также те файлы, которые я укажу?
Re: Как принимать только функции?
Вы можете настраивать опции компиляции для каждой задачи отдельно в файле serve.cfg, например,
http://ejudge.ru/wiki/index.php/Serve.c ... mpiler_env
Code: Select all
lang_compiler_env = "g++=EJUDGE_FLAGS=-O2 -Wall -std=gnu++0x -I/home/judges/000001/problems/A"
Re: Как принимать только функции?
Спасибо, а можно тоже самое для fpc? И как я понял, надо будет две строки в поле вписать? Я гуглил, чесно
Re: Как принимать только функции?
У fpc это, кажется, опции -Fi и -Fu.
Code: Select all
lang_compiler_env = "fpc=-FuDIR -FiDIR"
Re: Как принимать только функции?
большое спасибо, все работает. Осталось только обновить ejudge на сервере.
Re: Как принимать только функции?
При Check contest settings это опция компиляции для задачи не учитывается (если я правильно проверял) и при сборке решений возникают проблемы. При посылки решения и тестировании все работало как надо. Как это сделать по нормальному? По ненормальном (нужно было решение) --- прописал нужные опции в compiler_env , т. е. для всех задач (и тогда получилось прогнать Check contest settings по всем задачам).cher wrote:Вы можете настраивать опции компиляции для каждой задачи отдельно в файле serve.cfg, например,
http://ejudge.ru/wiki/index.php/Serve.c ... mpiler_envCode: Select all
lang_compiler_env = "g++=EJUDGE_FLAGS=-O2 -Wall -std=gnu++0x -I/home/judges/000001/problems/A"
И можно ли как-то не заменять опции EJUDGE_FLAGS, а добавить к нему опций? Думаю "g++=EJUDGE_FLAGS=EJUDGE_FLAGS ..." работать не будет (и если с $).
Re: Как принимать только функции?
Да, надо исправить.