writev
関数は、入力引数リストI/O writevは内部でどのように機能しますか?
writev(int fd, const struct iovec *iov, int iovcnt);
入力が(例えば)ファイルに書き込む必要メモリ・バッファのリストであるとして、構造体IOVECの配列を受け取ります。私が知りたいことは次のとおりです。
for (each element in iov) write(element)
iov
のすべての要素が別のI/O呼び出しでファイルに書き込まれるように:内部的にこれを行う
writevしていますか?または、writev
は、のファイルにすべてを書き込みます。 I/Oコール?規格毎の
「端末で操作しているとき」の最後の行はわかりません。また、正確にはlinux srcのどこでwritevの実装をチェックしますか? – jitihsk
「ターミナルで操作するとき」は、ファイルディスクリプタがターミナルデバイスを参照するときを意味します。ソースのどこにあるかについては、http://lxr.linux.no/#linux+v3.2.6/fs/read_write.c#L809 –