我可以在Linux上进行写时复制memcpy吗?

Chr*_*son 24 c linux memory-management

我有一些代码,我经常复制一大块内存,通常只需要对它进行非常小的更改.

我已经实现了一个跟踪更改的系统,但我认为如果可能的话,可以告诉操作系统对内存进行"写时复制",并让它只处理那些部分的副本哪个改变了.然而,虽然Linux执行copy-on-write,例如fork()时,我找不到一种控制它并自己动手的方法.

MSa*_*ers 17

您最好的机会可能是mmap()将原始数据存档,然后mmap()再使用相同的文件MAP_PRIVATE.