关于用户缓冲区问题
查到资料的大致意思是:为了避免多次进行系统调用 标准IO在用户层又建立了一个缓冲区 以printf为例:将对控制台连续多次的写入放在一个数组(即用户缓冲区)里 等到数组被填满之后再一次性完成系统调用写入。
上文的意思应该是在将对控制台的多次写入变成对数组的多次写入
我的疑惑是:那对数组的N次写入难道不需要N次系统调用吗?难道只有从数组(即用户缓冲区)向控制台写数据的时候才需要系统调用吗?
[解决办法]
往数组写N次要比往文件写N次快很多倍。
[解决办法]
写进数组里是写进这个程序分得的空间里,不需要系统调用(分配空间的时候需要)
往控制台上写东西,涉及到IO了,是要有系统调用的
[解决办法]