Co powinienem zrobić, aby uzyskać całą wartość zwracaną przez c-program z wiersza poleceń?
Mam prosty program w C"./my_program"
#include <stdio.h>
int main (int argc , char **argv) {
unsigned int return_result = 0x474;
printf("return_result = %d = 0x%x \n",return_result,return_result);
return return_result;
}
W rezultacie ten program drukuje:
return_result = 1140 = 0x474
Chcę uzyskać wartość zwracaną przez program c w skrypcie bash. Zgodnie z tym linkiemW każdym razie, aby uzyskać wartość zwrotną programu c z wiersza poleceń? Powinienem pobrać tę zmienną z $?
Ale kiedy uruchamiam takie polecenia, konsekwencje:
./my_program
echo $?
dostaję
116
Jest oczywiste, że 116 = 0x74 (najniższy bajt). Ale chciałbym uzyskać całą wartość unsigned int. Co jest nie tak? Co powinienem zrobić, aby uzyskać całą wartość zwracaną przez c-program z wiersza poleceń? Nie chodzi tylko o typ „niepodpisany”. Co powinienem zrobić, gdybym utworzył jakiś skomplikowany typ, na przykład - struktura.
Próbowałem tego:
return ((unsigned int) return_result_section_size);
To nie działa.