私は単純な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;
}
その結果、このプログラムは以下を出力します。
return_result = 1140 = 0x474
bash スクリプト内で c-program の戻り値を取得したい。このリンクによると とにかく、コマンドラインからCプログラムの戻り値を取得するには? この変数は $ から取得する必要がありますか?
しかし、そのようなコマンドを起動すると、次の結果になります。
./my_program
echo $?
私は得る
116
明らかに、116 = 0x74 (最下位バイト) です。しかし、unsigned int 値全体を取得したいと思います。なにが問題ですか?コマンドラインからCプログラムの戻り値全体を取得するにはどうすればよいですか? これは「unsigned int」型だけの問題ではありません。構造などの複雑なタイプを作成した場合はどうすればよいですか。
私はこれを試しました:
return ((unsigned int) return_result_section_size);
うまくいきません。