У меня есть код на C++, как этотВозвращаемое значение программы в Cygwin
int main(int argc, char** argv){
exit(-1);
}
я на машине Windows, сделать-ки и выполнения этой программы в Cygwin. Я хочу вернуть значение эха (для целей тестирования).
echo $?
дает 255 insted -1, why? (Переполнение?)
возможно потому, что оболочка окна использует байты без знака для типов возврата, и -1 представлен в качестве байта без знака 255 –
да, конечно, но мне нужно выйти со значением ниже 0 – rluks
, вы выходите со значением ниже 0. Если оболочка Windows не может ее представлять, какая польза от этого? Если вы захватили его в оболочке и передали в другую программу, вы можете конвертировать из беззнакового байта в подписанный int, и у вас будет отрицательный ответ. –