标签: c optimization
printf更好,因为......
写得更好因为......
总而言之,我认为printf()首选用于人类消费的各种调试输出(因为字符串格式化),而write()是在正常操作中输出数据的首选。 / p>
还有什么想法?
答案 0 :(得分:1)
实际上取决于操作系统。在Linux和许多Unix上,write(2)是低级syscall,因此执行某些输出的是基本的,最低级别的操作。 (printf是write以上构建的库函数。
printf
write
但是,write(2)操作确实存在开销,并且出于性能原因,您希望缓冲输出,<stdio.h>标准函数(如printf)表现良好。简单来说,避免使用少量数据调用write(2)(良好的缓冲区大小通常是几千字节)。 fflush库函数是刷新缓冲区(因此可以调用write)。
write(2)
<stdio.h>
fflush