Co powinienem zrobić, aby uzyskać całą wartość zwracaną przez c-program z wiersza poleceń?
Mam prosty program w C"./my_program"
<code>#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; } </code>
W rezultacie ten program drukuje:
<code>return_result = 1140 = 0x474 </code>
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:
<code>./my_program echo $? </code>
dostaję
<code>116 </code>
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:
<code>return ((unsigned int) return_result_section_size); </code>
To nie działa.