У меня есть две программы: программа «а» написана на C и программа «b» написана на NodeJS.Я выполняю программу 'b' из программы 'a' следующим образом:
int retVal = system("node /path/to/progB.js");
printf("%d",retVal);
И моя программа 'b' выглядит примерно так:
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
if (body === 'something') {
process.exitCode = 0;
} else if (body === 'something else') {
process.exitCode = 1;
} else {
process.exitCode = 2;
}
} else {
console.log("ERR" + body + response);
process.exitCode = 3;
}
});
обратно в программу 'a' returnзначения могут быть 0
, 256
, 512
или 768
.Который в двоичном виде: 0000 0000 0000
, 0001 0000 0000
, 0010 0000 0000
, 0011 0000 0000
.Изучив эти числа, я ясно вижу, что мои возвращаемые значения - это биты 8 и 9, поэтому мое возвращаемое значение сдвигается на 8 бит влево.Но почему?
Система Raspberry Pi с Raspbian и компилятор gcc версии 6.3.0