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

2024-01-03

我有一些代码,我经常复制一大块内存,通常是在对其进行很小的更改之后。

我已经实现了一个跟踪更改的系统,但我认为如果可能的话,告诉操作系统对内存进行“写时复制”,并让它只处理这些部分的副本,这可能会很好哪个改变。然而,虽然 Linux 确实进行了写时复制,例如在 fork() 时,但我找不到控制它并自己完成的方法。


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 Linux 中进行写时复制 memcpy 吗? 的相关文章

  • 如何在 C++ 中的嵌套词法作用域可访问的作用域中声明静态信息?

    我想声明范围的标识符 该标识符将用于自动填充最内部范围内任何日志记录语句的字段 它们通常会 但并非总是如此 例如 lambda 使用 引入的块 匹配封闭块的 名称 用法看起来像这样 namespace app LOG CONTEXT app
  • 终止以 System.Diagnostic.Process.Start("FileName") 启动的进程

    我正在尝试创建一个将在特定时间执行操作的应用程序 很像 Windows 任务计划程序 我当前正在使用 Process Start 来启动任务所需的文件 或 exe 我通过调用文件 mp3 启动一个进程 该进程启动 WMP 因为它是默认应用程
  • 如何使用 Regsvr32 注册 .NET COM DLL?

    我有一个使用 COM DLL 的 VB6 应用程序 该DLL是用C 编写的 在 C 项目属性中 我检查了 Register for COM interop 选项 VB6 应用程序在我的开发机器上运行良好 C 代码完全遵循以下格式 CodeP
  • 类型定义存在于两个库中

    我正在使用 NET 4 5 构建 ASP NET Web 窗体网站 错误 The type System ComponentModel DataAnnotations Schema ForeignKeyAttribute exists in
  • flowlayoutpanel和水平滚动条问题

    我正在使用一个 flowlayoutpanel 它有很多逻辑上的按钮 我遇到的问题是 当我调整窗口大小时 当窗口变小时 我无法看到所有水平排列的按钮 相反 当窗口变小时 按钮会下降到下一行 谁能帮我解决这个问题 我只是希望按钮水平排列 当窗
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • 向量和常量

    考虑一下这个 void f vector
  • OpenCV:处理每一帧

    我想使用 OpenCV 编写一个跨平台应用程序进行视频捕获 在所有示例中 我发现来自相机的帧是使用抓取功能进行处理并等待一段时间 我想处理序列中的每一帧 我想定义自己的回调函数 每次当一个新帧准备好处理时都会执行该函数 例如直播对于 Win
  • Parallel ForEach 的本地初始化如何工作?

    我不确定 Parallel ForEach 中本地 init 函数的使用 如 msdn 文章中所述 http msdn microsoft com en us library dd997393 aspx http msdn microsof
  • 在 4.x 内核上的 64 位内存中查找系统调用表

    我正在尝试编写一个简单的内核模块来查找 Linux 中的 sys call table 但遇到了一些麻烦 我在这里找到了 32 位 Linux 的基本指南 https memset wordpress com 2011 03 18 sysc
  • 对嵌套属性使用 XmlAttributeOverrides

    我试图使用 XmlAttributeOverrides 来控制类序列化后哪些类属性出现在 xml 中 它适用于 根 类上的属性 但不适用于嵌套属性 这是一个简单的例子来说明我想要完成的任务 我的类层次结构如下 public class Ma
  • 如何在 OpenCV 中删除 mouseCallback

    在使用 C 的 OpenCV 中 有没有办法删除 mouseHandler int event int x int y int flags void param 通过函数添加到窗口 image window cv setMouseCallb
  • 在 shell 脚本中将脚本目录更改为用户的 homedir

    在我的 bash 脚本中 我需要将当前目录更改为用户的主目录 如果我想更改为用户的foo主目录 从命令行我可以执行以下操作 cd foo 效果很好 但是当我从script它告诉我 bar sh line 4 cd foo No such f
  • 实例着色器矩阵的设置

    我想绘制实例立方体 我可以打电话GL DrawArraysInstanced PrimitiveType Triangles 0 36 2 成功地 我的问题是所有立方体都绘制在相同的位置和相同的旋转 我如何为每个立方体单独更改它 要创建不同
  • 隐式类型转换 - 编译器错误

    这个问题与this https stackoverflow com questions 3529449 can i make the ternary operator treat my class like a bool问题 下面的代码在V
  • 为 winforms ComboBox 中的单个项目着色?

    我遇到了一个困境 我有一个表单 其中包含许多组合框 其中包含在某些情况下可能无效 过时的信息 选项 项目 我不能简单地从项目中删除过时的信息 但我确实想在选项无效时为用户提供视觉线索 我正在考虑对项目进行着色 可能是红色 来指示它们是否无效
  • C++ 从文件中读取字符串

    我试图将字符串直接存储到一个文件中 以便稍后在 C 中读取 基本上 对于整个范围 我试图将带有字符串变量的对象数组存储在文件中 并且这些字符串变量将通过类似 object 的内容读取 0 字符串 然而 每次我尝试读取字符串变量时 系统都会给
  • 绑定未正确更新用户控件属性 MVVM

    编辑 删除旧代码 我将它放在 MainWindow xaml 上
  • Xamarin Forms:System.Reflection.TargetInitationException:调用目标已引发异常

    我正在为这个问题苦苦挣扎 我只是创建了一个简单的跨平台页面 这里是 XAML 代码

随机推荐

  • 在 C++ 中使用 SSE 将两个 32 位整数向量相乘的最快方法

    我有两个无符号向量 大小均为 4 vector
  • EPPlus 依赖循环

    从 PowerShell 安装 EPPlus 时 我得到以下信息 所有命令都是第一次运行 PackageSource Get PackageSource Name PSGallery if PackageSource IsTrusted S
  • 如何在 django 视图中将一个页面重定向到另一个页面时延迟 5 秒

    我使用了这段代码 但我想要的延迟没有实现 我希望它在那里停留至少 5 秒 from django http import HttpResponseRedirect def myview request return HttpResponse
  • mysqli_real_escape_string 安全吗?

    我是 PHP 新手 我意识到使用 php 表单 带有用户和传递文本输入 的数据库连接是完全不安全的 这是可行的 但不安全 所以 我读过有关 mysqli real escape string 的内容 并决定尝试一下
  • laravel 5.4 MIME 自定义错误消息不起作用?

    Dearest 我想为上传的图像制作自定义错误消息 这是我的控制器代码 protected function validator data validateContent messages imgUserAvatar mimes gt Fi
  • Riverpod:摄取 REST API 的简单方法

    我目前正在构建一个应用程序 该应用程序摄取 WordPress REST API 来显示博客文章 在初始应用程序加载时 我希望它使用一种方法提取初始数据 然后通过用户交互提取更多帖子 我目前正在进行这项工作 但是 我的实现似乎很复杂 并且可
  • 如何计算 PySpark 中行之间的差异?

    这是我在 PySpark 中的数据框 utc timestamp data feed 2015 10 13 11 00 00 00 00 1 A 2015 10 13 12 00 00 00 00 5 A 2015 10 13 13 00
  • OpenShift 中水平 pod 自动缩放器的自定义指标

    我正在使用 openshift v3 它使用 kubernetes 版本 1 2 我正在探索更多有关自动缩放功能的信息 目前它表示仅支持 CPU 指标 有没有一种方法可以根据内存或从 heapster 收集的其他指标数据来扩展 opensh
  • 如何等待ajax请求?

    我正在尝试编写一个 JS 代码 如果给定的数字已存在于数据库中 该代码将取消 btn submit 按钮 onclick 事件 我使用 AJAX 查询数据库中的给定数字 并确定是否应将数据发送到将上传问题的 php 站点 为了确定这一点 我
  • 在 Python 2.7 中复制 Java 的 PBEWithMD5AndDES

    如果这不是很明显 我首先要说的是我不是加密货币人士 我的任务是在 Python 2 7 中复制 Java 的 PBEWithMD5AndDES 具有 DES 加密的 MD5 摘要 的行为 我确实可以访问 Python 的加密工具包 PyCr
  • Python if语句无法识别蓝牙信标

    这是 BeaconScanner py 文件用来查找和列出 ble 信标的 ScanUtility py 文件 This is a working prototype DO NOT USE IT IN LIVE PROJECTS impor
  • IActionDelegate 的 SelectionChanged() 未被调用

    我有一个动作类 我想根据文件扩展名启用它 我把这个逻辑写在selectionChanged 动作类的 但是当我启动 Eclipse 并单击上下文菜单的文件时 不会调用此方法 当我单击任何操作时 单击该文件后都会调用selectionChan
  • 相当于 Unix tail 命令的 Windows [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在寻找相当于 Unix tail 命令的命令 它允许我在写入日志文件时观察日志文件的输出 如果您使用 PowerShell 那么这有效 Get C
  • T-SQL Puzzler - 爬取对象依赖关系

    此代码涉及递归存储过程调用和避免游标名称冲突的 不太好 的方法 最后我不在乎它是否使用游标 只是寻找最优雅的方法 我主要将其用作跟踪存储过程层次结构的简单方法 无需购买产品 我在 动态sql 中尝试了游标 但运气不佳 我想深入大约 10 层
  • iOS Google Plus 集成和共享

    我正在尝试将我的应用程序中的内容分享到 Google Plus 为此 我使用了以下代码 IBAction handleGPlus id
  • docker rmi 无法删除镜像,并且:没有这样的 id

    我有很多图像 当我尝试删除它们时docker rmi sudo docker rmi acd33a9490dc Error response from daemon No such id 75ce1f6710bab109a7d7cbee05
  • C++ 对非 const 对象的 const 引用和对非 const 对象的非 const 引用之间的区别

    如果引用的对象不是 const 对象 则引用的 const 关键字的用途是什么 r1 和 r2 的作用 如下 有什么区别吗 int i 42 non const object const int r1 i const reference t
  • 从 UNION 创建临时表时遇到问题

    我有一个 UNION 语句 它本身执行得很好 SELECT 1999999999 AS MobileNo Test AS FirstName Last AS LastName 268 AS TemplateID AS MISC1 AS MI
  • 获取 UILabel 中的行数

    针对同一问题的许多旧解决方案已被弃用 UILineWordWrap 仅举一个已弃用的解决方案 我还发现其中一些不可靠 那么 在IOS 8中 我应该如何找到uilabel中的行数呢 As of iOS8 您可以使用 NSString boun
  • 我可以在 Linux 中进行写时复制 memcpy 吗?

    我有一些代码 我经常复制一大块内存 通常是在对其进行很小的更改之后 我已经实现了一个跟踪更改的系统 但我认为如果可能的话 告诉操作系统对内存进行 写时复制 并让它只处理这些部分的副本 这可能会很好哪个改变 然而 虽然 Linux 确实进行了