Difference between revisions of "Libchecker:Функция checker main"
Line 10: | Line 10: | ||
[[коды завершения проверяющей программы|код завершения проверяющей программы]]. | [[коды завершения проверяющей программы|код завершения проверяющей программы]]. | ||
− | Разбор аргументов командной строки проверяющей программы выполняется при инициализации проверяющей программы ещё до запуска checker_main, поэтому проверяющая программа может сразу же пользоваться глобальными переменными и функциями библиотеки libchecker. | + | Разбор [[параметры командной строки проверяющей программы|аргументов командной строки]] проверяющей программы выполняется при инициализации проверяющей программы ещё до запуска checker_main, поэтому проверяющая программа может сразу же пользоваться глобальными переменными и функциями библиотеки libchecker. |
+ | |||
+ | Для завершения работы проверяющей программы рекомендуется использовать функции библиотеки libchecker | ||
+ | [[checker_OK]], [[fatal]], [[fatal_CF]], [[fatal_PE]], [[fatal_WA]], [[fatal_read]]. Все эти функции | ||
+ | вызывают стандартную функцию exit с соответствующим кодом завершения, то есть после их вызова управление | ||
+ | никогда не возвращается в проверяющую программу. | ||
+ | |||
+ | Функция checker_main в типичной случае может выглядеть следующим образом: | ||
+ | int checker_main(int argc, char **argv) | ||
+ | { | ||
+ | // код проверяющей программы, который вызывает функции семейства fatal* в случае обнаружения ошибки | ||
+ | checker_OK(); | ||
+ | } |
Revision as of 09:22, 4 December 2006
Вернуться на страницу библиотеки libchecker.
Функция checker_main в проверяющей программе играет роль функции main в обычной программе на C. После инициализации проверяющей программы управление передаётся на эту функцию.
Функция checker_main должна удовлетворять следующему прототипу:
int checker_main(int argc, char **argv);
Параметры argc и argv содержат количество аргументов командной строки и сами аргументы (точно так же, как и для функции main). Возвращаемое значение функции checker_main — это код завершения проверяющей программы.
Разбор аргументов командной строки проверяющей программы выполняется при инициализации проверяющей программы ещё до запуска checker_main, поэтому проверяющая программа может сразу же пользоваться глобальными переменными и функциями библиотеки libchecker.
Для завершения работы проверяющей программы рекомендуется использовать функции библиотеки libchecker checker_OK, fatal, fatal_CF, fatal_PE, fatal_WA, fatal_read. Все эти функции вызывают стандартную функцию exit с соответствующим кодом завершения, то есть после их вызова управление никогда не возвращается в проверяющую программу.
Функция checker_main в типичной случае может выглядеть следующим образом:
int checker_main(int argc, char **argv) { // код проверяющей программы, который вызывает функции семейства fatal* в случае обнаружения ошибки checker_OK(); }