的writev
函數採用結構iovec的數組作爲輸入參數列表I/O writev如何在內部工作?
writev(int fd, const struct iovec *iov, int iovcnt);
的輸入是需要被寫入到一個文件(比如說)存儲器緩衝器列表。我想知道的是:
是否writev可以獲得內部做到這一點:
for (each element in iov) write(element)
使得iov
每一個元素都寫在一個單獨的I到文件/ O調用?還是writev
寫入所有文件在單個 I/O調用?
我不明白最後一行「在終端上運行時」。另外,在linux src中,你是否在檢查writev實現? – jitihsk 2012-02-18 21:48:22
「在終端上操作時」是指文件描述符指的是終端設備。至於在源代碼中,http://lxr.linux.no/#linux+v3.2.6/fs/read_write.c#L809 – 2012-02-19 00:39:52