У меня есть программа на C, которая возвращает целочисленное значение. Я был удивлен, узнав, что при рассмотрении возвращаемого значения из командной строки я получаю значение по модулю 256.
/* prog.c */
int main(...) { return 257; }
-
> ./prog.e
> echo $?
1
- Почему я не вижу целое число?
- Где такое поведение задокументировано?
- Как я могу получить все 32-битное значение для оболочки?