Что является обычным возвращаемым значением для приложений в Windows и GNU/Linux соответственно. 0 означает успех. Но что следует использовать при прерывании по запросу пользователя. Когда я прерываю работу в Windows, она возвращает 3, но это значение отсутствует в списке кодов системных ошибок, если оно не является ERROR_PATH_NOT_FOUND. GNU binutils использует 1. С точки зрения пользователя, возвращение GetLastError или errno было бы хорошо, поскольку они задокументированы, но кажется, что они охватывают только коды состояния более низкого уровня. Я ищу значение, которое представляет собой «Приложение завершено неудачно».
Причина, по которой я ране, в том, что я хочу
exit(errcode)
из обработчика сигналов, который улавливает некоторые нарушения прав доступа/SIGSEGV (т. е. ошибки программирования) после вывода сообщения о том, где это произошло. Тогда код ошибки должен быть отличим от ошибок пользовательского ввода.