Difference between revisions of "Коды завершения проверяющей программы"

From EjudgeWiki
 
Line 2: Line 2:
  
 
* 0 - OK, правильный ответ
 
* 0 - OK, правильный ответ
* 4 - PE, presentation error, [[ошибка формата результата]]
+
* 4 - PE, presentation error, [[ошибка неправильного формата результата]]
 
* 5 - WA, wrong answer, [[неправильный ответ]]
 
* 5 - WA, wrong answer, [[неправильный ответ]]
  
Line 11: Line 11:
 
Программы на Pascal или Delphi завершаются с кодом 0 по умолчанию. Либо можно вызвать процедуру halt, передав ей нужный код завершения.
 
Программы на Pascal или Delphi завершаются с кодом 0 по умолчанию. Либо можно вызвать процедуру halt, передав ей нужный код завершения.
  
Программы, использующие библиотеку [[libchecker]] могут использовать функции [[checker_OK]], [[fatal_PE]] или [[fatal_WA]].
+
Программы, использующие библиотеку [[libchecker]] могут использовать функции [[libchecker:checker_OK]], [[libchecker:fatal_PE]] или [[libchecker:fatal_WA]].
  
 
Программы, использующие библиотеку [[testlib]] могут использовать процедуру quit.
 
Программы, использующие библиотеку [[testlib]] могут использовать процедуру quit.

Revision as of 07:48, 22 August 2008

Проверяющая программа информирует тестирующую систему ejudge о вердикте проверки с помощью кода завершения. Допустимые коды завершения перечилены ниже:

Любые другие коды завершения программы, равно как и завершение проверяющей программы из-за сигнала, рассматриваются как ошибка в работе самой проверяющей программы.

В программах на C или C++ завершить работу программы с указанным кодом завершения можно либо вызвав стандартную функцию exit, либо вернув код завершения как возвращаемое значение из функции main с помощью оператора return.

Программы на Pascal или Delphi завершаются с кодом 0 по умолчанию. Либо можно вызвать процедуру halt, передав ей нужный код завершения.

Программы, использующие библиотеку libchecker могут использовать функции libchecker:checker_OK, libchecker:fatal_PE или libchecker:fatal_WA.

Программы, использующие библиотеку testlib могут использовать процедуру quit.