自分自身と他のいくつかの人が作成したコードを公開しています。他の個人のいずれかで書かれたコードセグメントの一つで、私は次のことを見ています:私たちはそれを実行するのに必要なときにopen()の引数が多すぎます
open(filePath, O_RDONLY | O_CREAT, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
open(filePath, O_WRONLY | O_CREAT, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
いくつかの方法が、これは自分のシステム上でコンパイル。しかし、私のシステムでは、GCCはopen()
があまりにも多くの引数を渡していると不満を抱いています(私の見解からは正確です。私はどちらも、なぜ同じO_RDONLY | O_CREAT
とO_WRONLY | O_CREAT
が両方とも同じ呼び出しでopenに渡されているのか混乱しています。
他の開発者の意見が聞こえるのを待っている間に、この呼び出しで4つの引数がある理由について誰もが考えていますか?open()
? POSIX標準で
バージョンコントロールのリビジョンマージが間違っているようですね。 – Romain
私はvarargリストを取るopen(3)のマニュアルページを見つけました。理由は分かりませんが、そこにはあります。 http://linux.die.net/man/3/open – JoeFish