Стандарт c99 гласит, что assert
вызывает abort
, а материал abort
утверждает это о коде возврата:
Определенная реализацией форма неудачного завершения состояния возвращается в хост-среду с помощью повышения вызова функции (SIGABRT).
Это задокументировано в разделах 7.2.1.1 (утверждение) и 7.20.4.1 (отмена) стандарта c99 здесь .
Многие системы UNIX возвращают 128 плюс номер сигнала (SIGABRT - это сигнал номер 6), поэтому вы можете получить 134. Что бы вы ни получили, это должно быть задокументировано реализацией C.
Например, см. здесь для gcc. Хотя довольно тихо о том, что возвращается в вызывающую среду. Из конкретных разделов здесь :
Некоторые варианты делаются библиотекой и операционной системой (или другой средой при компиляции для автономной среды); за подробностями обращайтесь к их документации.
И здесь :
Поведение большинства из этих точек зависит от реализации библиотеки C и не определяется самим GCC.
Как и в glibc doco здесь при завершении программы (в частности, бит состояния выхода). В нем упоминаются условные обозначения, но нет четких правил.