Re: 関数の戻り値の論理が逆になっている点
新城@筑波大学情報です。こんにちは。
In article <cdrcjs$fll$1@ns.src.ricoh.co.jp>
ohta@src.ricoh.co.jp (Junn Ohta) writes:
> > あと、(Unixの) システムコール系は、失敗すると -1 で、成功す
> > ると正の数という風になっているのも多いです。
> 成功するとゼロまたは正の数、ではないですか? open()
> もread()もlseek()も、0は意味のある正常な返り値です
> よね。
はい。まあ0も、符合ビットは0だから。なんてね。
(↑本気にしないように。)
システムコールの成功・失敗は、普通のレジスタではなくてCPU
のフラグに入れて返すのが多いけど、まあ今の話とは関係ないです。
ユーザ空間に戻ってから条件分岐でエラーなら -1 を返すコードに
ジャンプします。
(Unix の)システムコールとは関係ないC言語の標準のライブラ
リ関数で、成功すると0を返すものって、結局どういう関数がある
のでしょうか。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735