- - PR -
C言語で戻り値の制御
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-24 18:34
お世話になります。
以下のようなCのプログラムを作成しました。 --- unsigned int main( void ) { unsigned int ret = 0; ret = 0x0080; // ret = 0x0100; printf("ret:%d", ret); return( ret ); } --- AIX5.2で上記を実行したところ ret = 0x0080; の場合は # ./a.out ret:128 # echo $? 128 # で戻り値が128ですが ret = 0x0100; の場合は # ./a.out ret:256# echo $? 0 # で戻り値は0です。 どうやら、255以上の数値は制御できないような 気がするのですが ret = 0x0100; ret = 0x0200; ret = 0x0400; ret = 0x0800; といった具合に戻り値を制御する事は可能でしょうか? | ||||||||
|
投稿日時: 2006-08-24 18:51
OSが扱っているリターンコード自体が0〜255だからでしょう。
ところで、unsigned int main(void)は、個人的にはだいぶ気持ちが悪いです。 | ||||||||
|
投稿日時: 2006-08-25 01:39
おまけ。man で exit(3) や _exit(2) を引いてみると、書いてあるかも。
ですね。 |
1