¿Qué debo hacer para obtener todo el valor de retorno de c-program desde la línea de comandos?
Tengo un programa C simple"./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>
Como resultado, este programa imprime:
<code>return_result = 1140 = 0x474 </code>
Quiero obtener un valor de retorno de c-program dentro del script bash. De acuerdo a este enlaceDe todos modos para obtener el valor de retorno del programa c desde la línea de comandos? Debería obtener esta variable desde $?
Pero cuando lanzo tales comandos consecuencia:
<code>./my_program echo $? </code>
yo obtengo
<code>116 </code>
Es obvio que 116 = 0x74 (el byte más bajo). Pero me gustaría obtener todo el valor int sin firmar. ¿Qué está mal? ¿Qué debo hacer para obtener todo el valor de retorno de c-program desde la línea de comandos? No se trata solo del tipo "unsigned int". Qué debo hacer en caso de que creara algún tipo complicado, por ejemplo, - estructura.
Intenté esto:
<code>return ((unsigned int) return_result_section_size); </code>
No funciona