я нашел на Centos4, что страница для POPEN() в частности, говорится:Завершает ли pclose() статус завершения работы трубы налево на восемь бит на всех платформах?
DESCRIPTION
The pclose() function shall close a stream that was opened by popen(), wait for the command to termi-
nate, and return the termination status of the process that was running the command language inter-
preter. However, if a call caused the termination status to be unavailable to pclose(), then pclose()
shall return -1 with errno set to [ECHILD] to report this situation.
Однако в моем C++ приложения, когда я на самом деле выполнить код, я вижу, что статус прекращения сдвигается влево на 8 биты. Возможно, это должно отличить -1 от статуса завершения трубы от собственного состояния выхода pclose() -1?
Является ли это переносным поведением? Почему эта страница человека не упоминается? Если они не переносимы, какие платформы соответствуют этому поведению?