Closed. This question needs to be more focused. It is not currently accepting answers. Learn more
想改进这个问题吗?更新问题,使其只关注一个问题editing this post
两年前关闭。
只是想知道,在Linux和C/C++中,将相同的数据写入到两个文件中是最有效的方法。
例如,这是最琐碎的方式。
while(1) {

    ... getting data from somewhere ....

    write(fd1, data, datalen);
    write(fd2, data, datalen);
}

但是,缺点是内核需要复制两次数据,即使数据是相同的。
有什么想法吗?

最佳答案

将相同数据写入两个文件的最有效方法是什么
只将数据写入一个文件。
把那个文件复制到另一个。使用操作系统调用有效地执行此操作(Copy a file in a sane, safe and efficient way)。
步骤2的另一种方法是创建硬链接(选中link())。
但是,请注意不要成为过早优化的牺牲品。我这不是你程序的瓶颈,那就用简单易懂的方法。

10-06 07:25
查看更多