我怎样才能知道哪里的内存段全为零

2024-01-18

我的意思是,我分配了一段内存,也许是 1k,也许是 20 字节。 假设指针是pMem我怎样才能知道内容pMem所提及的就是全部Zero or \0。我知道memcmp但第二个参数应该是另一个内存地址...... 谢谢


正如其他人已经建议的那样,你可能想要memset http://www.opengroup.org/onlinepubs/000095399/functions/memset.html or calloc http://www.opengroup.org/onlinepubs/000095399/functions/calloc.html.

但如果您确实想检查某个内存区域是否全为零,您可以将其与自身进行比较,但移位一位。

bool allZero = pMem[0] == '\0' && !memcmp(pMem, pMem + 1, length - 1);

其中 length 是您希望为零的字节数。

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

我怎样才能知道哪里的内存段全为零 的相关文章

  • 如果.Net Core可以在Windows上运行,为什么不能在.Net Framework中引用.Net Core DLL?

    我明白为什么 Net Framework 可能会在 Net Core IE 中导致问题 因为不存在特定于 Windows 平台的 API 但是为什么不能直接引用 Net Core 作为 Net Framework 中的库呢 如果 Net C
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 串行 I/O 与 Windows/Windows CE 重叠/不重叠

    抱歉 这不是一个大问题 但更多的是帮助那些在这些特定问题上遇到问题的人 我正在解决的问题需要使用串行 I O 但主要在 Windows CE 6 0 下运行 然而 最近有人问我该应用程序是否也可以在 Windows 下运行 所以我开始着手解
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • iOS 视图控制器内存在被关闭后未释放

    当用户单击按钮时 它会显示一个带有两个视图控制器的新选项卡栏视图控制器 我是这样做的 ACLevelDownloadController dvc ACLevelDownloadController alloc initWithNibName
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12

随机推荐

  • Geopandas PostGIS 连接

    我最近开始在 python 中使用 Geopandas 进行一些空间工作 并且对此非常满意 我目前正在尝试阅读 PostGIS 功能 但不太了解如何参数化数据库连接 而且似乎不清楚在文档中 GeoDataFrame from postgis
  • 为什么将 Visual Studio 解决方案添加到 TFS 时空文件夹会消失?

    我有这个 Visual Studio 解决方案 其中包含一个项目 该项目具有由多个空文件夹组成的模板文件夹树 当我使用 源代码管理 gt 将解决方案添加到源代码管理 菜单项将此解决方案添加到 Team Foundation Server T
  • 隐藏 QLPreviewController 的右键?

    我在应用程序中对 QLPreviewController 进行子类化并使用以下代码 QLPreviewControllerSubClass preview QLPreviewControllerSubClass alloc init sel
  • 您可以在创建现有的 mysql 触发器后对其进行修改吗?

    In mysql我可以创建一个触发器 然后显示有关它的信息 如下所示 mysql gt show triggers like fooTrigger 该命令提供的输出看起来非常像 select 语句 其中一行显示匹配的触发器 是否可以更新它向
  • 通过 Raven Studio 中的 RQL 将额外的列/字段添加到 RavenDB 集合

    我试图通过向每个实体添加额外的字段来更新整个集合 这doesn t做这件事 from things as t update put id t NewField 有人可以帮忙解决一下语法吗 Thanks Just do from things
  • 如何在VIM中映射CAPS LOCK键?

    我在Windows下使用VIM 并希望将 CAPSLOCK 映射到 Ctrl 有办法做到这一点吗 顺便说一句 我在网上看到了大量如何使用注册表 hack 交换 CAPS 和 Esc 的示例 但它们都没有使用 VIM 映射命令 而是使用外部工
  • Slim 框架 - 无法用点解释路由

    问题陈述 我目前正在开发内部 RESTful API 并使用我们的主域名作为环境标识符 然而 我注意到 Slim 根本不喜欢其中有点的路线 示例案例 我有一个使用 PHP 内置 Web 服务器运行的本地 Web 服务器 并且我调用了php
  • 读取 Vertex AI Pipelines 中的数据

    这是我第一次使用 Google 的 Vertex AI Pipelines 我检查了这个代码实验室 https codelabs developers google com vertex pipelines intro hl en 0也这个
  • 在任务管理器中更改进程名称[重复]

    这个问题在这里已经有答案了 我有一个在服务器上运行的 Windows 窗体应用程序 现在我需要同时运行同一应用程序的多个实例 每个实例将连接到不同的数据库 在应用程序启动期间 我更改了标题 以便可以识别正在连接的数据库 但我也想更改任务管理
  • 如何在 Visual Studio 项目模板中使用变量设置文件名

    我有一个 VS 2013 项目模板 其中包含如下项目
  • 添加/组合标准差

    简洁版本 可以添加 组合标准差吗 IE if StdDev 11 14 16 17 X and StdDev 21 34 43 12 Y can we calculate StdDev 11 14 16 17 21 34 43 12 fro
  • Android - 按钮彼此相邻

    我无法将按钮放在一起 我已经研究过这个话题 但似乎没有任何帮助 这是我的 XML 代码 Link http pastebin com d6gxDLTU 现在的显示方式如下 我的屏幕 https i stack imgur com ocagu
  • 使用javascript从mp3读取id3标签

    我知道以前已经有人问过这个问题 但我的条件有点不同 我正在制作一个 Chrome 应用程序 因此我可以访问它支持的所有最新 JavaScript 文件 api 而不必担心兼容性 更重要的是 我真的很想自己做这件事 即没有任何图书馆 教程或指
  • PostgreSQL 跨服务器查询? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法可以查询位于 服务器 2 上的数据库并获取 服务器 1 中的数据 那就是将一组记录从远程服务器返回到我的本地服务器 PS 不
  • char数组前面的&号会影响scanf吗?合法吗?

    我们平时输入字符串的时候是这样做的 include
  • Firefox 附加组件 window.navigator.userAgent 错误:窗口未定义

    我想得到userAgent https developer mozilla org en US docs Web API NavigatorID userAgent并想对其进行一些解析 我的代码是 var userAgentInfo use
  • SwiftUI - 如何添加 Scenekit 场景

    如何将 Scenekit 场景添加到 SwiftUI 视图 我使用标准船舶场景示例尝试了以下 Hello World import SwiftUI import SceneKit struct SwiftUIView View var bo
  • 以编程方式更改和刷新图标(无需重新启动)

    当我手动替换图标 即不是从资源管理器中的 文件夹选项 窗口 时 图标不会更新 例如 如果我执行此批处理代码 REG ADD HKCR testfile DefaultIcon ve d C test ico 0 f 图标在文件夹选项的列表中
  • EC2 服务器上的 MongoDB 还是 AWS SimpleDB?

    什么场景更有意义 托管多个安装了 MongoDB 的 EC2 实例 还是使用 Amazon SimpleDB Web 服务 当有多个带有 MongoDB 的 EC2 实例时 我遇到了自己设置实例的问题 当使用 SimpleDB 时 我遇到了
  • 我怎样才能知道哪里的内存段全为零

    我的意思是 我分配了一段内存 也许是 1k 也许是 20 字节 假设指针是pMem我怎样才能知道内容pMem所提及的就是全部Zero or 0 我知道memcmp但第二个参数应该是另一个内存地址 谢谢 正如其他人已经建议的那样 你可能想要m