Libchecker:Глобальные переменные

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/Глобальные переменные

Проверяющей программе доступны следующие глобальные переменные.

FILE *f_in;

Дескриптор потока для чтения из файла входных данных для тестируемой программы.

FILE *f_out;

Дескриптор потока для чтения из файла с результатом работы тестируемой программы.

FILE *f_corr;

Дескриптор потока для чтения из файла эталонного ответа. Открыт только если перед включением "checker.h" определён макрос NEED_CORR равный 1, и в разделе описания задачи установлена конфигурационная переменная use_corr.

FILE *f_arr[3];

Массив из трёх дескрипторов потока:

  • f_arr[0] — то же самое, что f_in
  • f_arr[1] — то же самое, что f_out
  • f_arr[2] — то же самое, что f_corr
const char * const f_arr_names[3];

Массив с названиями трёх потоков:

  • f_arr_names[0] — "input"
  • f_arr_names[1] — "output"
  • f_arr_names[1] — "correct output"
testinfo_t test_info;

Структура с дополнительной информацией о тесте. Заполнена только если перед включением "checker.h" определён макрос NEED_INFO равный 1, и в разделе описания задачи конфигурационного файла турнира установлена конфигурационная переменная use_info.


Следующие 4 глобальные переменные определены только если перед включением "checker.h" определён макрос NEED_TGZ равный 1, и в разделе описания задачи конфигурационного файла турнира установлена конфигурационная переменная use_tgz.

DIR *dir_in;

Дескриптор для чтения из копии рабочего каталога тестируемой программы по состоянию на момент запуска тестируемой программы, то есть здесь находится начальное состояние рабочего каталога.

const char *dir_in_path;

Путь к каталогу с начальным состояние рабочего каталога.

DIR *dir_out;

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

const char *dir_out_path;

Путь к рабочему каталогу тестируемой программы.