Closed. This question needs to be more focused. It is not currently accepting answers. Learn more。
想改进这个问题吗?更新问题,使其只关注一个问题editing this post。
两年前关闭。
只是想知道,在Linux和C/C++中,将相同的数据写入到两个文件中是最有效的方法。
例如,这是最琐碎的方式。
但是,缺点是内核需要复制两次数据,即使数据是相同的。
有什么想法吗?
想改进这个问题吗?更新问题,使其只关注一个问题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()
)。
但是,请注意不要成为过早优化的牺牲品。我这不是你程序的瓶颈,那就用简单易懂的方法。