确定 C 中动态分配内存的大小

2023-12-08

C 有没有办法找出动态分配的内存的大小?

例如,之后

char* p = malloc (100);

有没有办法找出与相关的内存大小p?


没有找到此信息的标准方法。然而,一些实现提供了类似的功能msize去做这个。例如:

  • _msize在 Windows 上
  • malloc_size在 MacOS 上
  • malloc_可用_大小在带有 glibc 的系统上

但请记住,malloc 将分配请求的最小大小,因此您应该检查实现的 msize 变体是否实际返回对象的大小或堆上实际分配的内存。

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

确定 C 中动态分配内存的大小 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么

随机推荐

  • Google Maps API v3:自定义标记在移动设备上不可点击

    我们有一个网站 它使用 Google Maps API v3 在地图上显示一堆标记 这些标记是可点击的 并打开一个标准的谷歌地图信息弹出窗口 这在所有桌面浏览器上都非常有效 但由于某种原因 我无法让它在我测试过的任何移动设备 各种 Andr
  • jquery多维数组随机洗牌

    我想最小化我的代码 myArrayA 1 2 3 4 5 fisherYates myArrayA myArrayB 6 7 8 9 10 fisherYates myArrayB myArrayC 11 12 13 14 15 fishe
  • 我们可以在finally块中使用“return”吗[重复]

    这个问题在这里已经有答案了 我们可以使用 return 语句吗finally堵塞 这会导致任何问题吗 从a内返回finally阻塞会导致exceptions丢失 finally 块内的 return 语句将导致 try 或 catch 块中
  • OSX 以编程方式调用声级图形

    我有一个可以在 OSX 下更改音量的应用程序 它缺少的是按下声音上 下键时提供的视觉反馈 有谁知道如何以编程方式调用该行为 谢谢 以下是 George Warner 和 Casey Fleser 编写的一些代码 用于实现此目的 仔细想想这是
  • 对 Java 中另一个类中实例化/初始化的对象的引用变量

    我问的原因是因为我收到 NullPointerException 我现在这很容易 但我是一个相当新的编程人员 发现这有点令人困惑 假设我已经初始化了一个类中的一个对象 并且想要从另一个类访问同一对象 就像现在 我正在开发一个小型国际象棋游戏
  • Linux 中 Socket 的发送缓冲区为空?

    有没有办法检查 TCP 连接的发送缓冲区是否完全为空 到目前为止我还没有找到任何东西 只是想确保在仍有数据传输到某个客户端时我的服务器没有关闭连接 我正在使用轮询来检查是否能够在非阻塞套接字上发送数据 但这样我就无法知道是否所有内容都已发送
  • CSS多行省略号跨浏览器

    我的网页中有一个具有固定宽度和高度的 div 以下 css 仅适用于单行文本 overflow hidden text overflow ellipsis white space nowrap 如何使用具有跨浏览器兼容性的纯 css 在该
  • 如何检查是否授予“android.permission.PACKAGE_USAGE_STATS”权限?

    背景 我正在尝试获取应用程序启动的统计信息 在 Lollipop 上可以使用使用情况统计管理器类 本身 原帖here 显现
  • 如何在一般github的markdown中显示数学方程(不是github的博客)

    经过调查 我发现 mathjax 可以做到这一点 但是当我在 markdown 文件中编写一些示例时 它没有显示正确的方程 我已将其添加到 markdown 文件的头部 并输入 mathjax 语句 E mc 2 x 1 2 frac b
  • 如何使谷歌地图中的标记图像闪烁

    我在地图上有一些标记 代码部分在这里 var icons media green png media red png media blue png media yellow png var marker new google maps Ma
  • 折线的距离

    我正在折线中工作 我需要获得它的距离 因此 如果有人可以提供帮助 我将非常感激 此致 这是我的代码 function polyline downloadUrl xmlPolyline asp function data var xml xm
  • javafx fxml 组合框错误

    我试图将字符串添加到 javafx 组合框 但我不断收到上述错误 no suitable method found for add String method Collection add CAP 1 is not applicable a
  • Java 是否保证 Object.getClass() == Object.getClass()?

    我在这里确实指的是身份平等 例如 以下内容是否总是打印true System out println foo getClass fum getClass 是的 类标记是唯一的 对于任何给定的类加载器来说 IE 您将始终获得对同一物理对象的引
  • Android 应用程序 - 尝试在空对象引用上调用接口方法“int java.util.List.size()”

    我正在创建一个在网格视图中显示电影海报的应用程序 我正在使用 themoviedb org 的 API 问题是当我运行我的应用程序时出现以下错误 并且我正在努力修复它 07 18 20 27 39 244 2751 2751 E Andro
  • 如何在 swift 中使用 Gmail api 发送电子邮件

    The 邮箱API没有关于如何执行此操作的明确文档 我一直在尝试this但空气中有很多东西 我已经寻找过这样的外部资源 Source 1 and Source 2 第一个似乎利用了api的潜力 使用了函数queryForUsersMessa
  • jQuery 无法与我的 Blazor 应用程序正常工作

    我有以下脚本 它在从浏览器启动的简单 html 文件中运行良好 scroll to click event gt whatever here 但是 当将其与 Blazor 一起使用时 单击我的按钮时不会触发它 我找到了一个解决方法 即将第一
  • 如何订阅通过@angular/cdk/portal注入的组件的Observable?

    我正在尝试实现一个基本的 非常基本的 模式实现 我有一个ModalService and a ModalComponent The ModalService创建一个实例ModalComponent并使用 angular cdk portal
  • 验证 Azure Active Directory 中是否存在用户帐户

    我需要遵循一些业务规则 从 ASP NET Core 2 应用程序向用户发送电子邮件 但是 我需要确保电子邮件发送到的帐户确实存在 由于某种原因 该帐户可能不再有效 客户正在使用 Azure Active Directory 因此我需要以某
  • 使用索引替换值 [R]

    我正在尝试使用索引来识别哪些行要根据另一个 DF 的联接创建新列 使用索引时我无法执行 match df1 lt data frame A c A C E B c 1 3 5 df2 lt data frame A c A C E C c
  • 确定 C 中动态分配内存的大小

    C 有没有办法找出动态分配的内存的大小 例如 之后 char p malloc 100 有没有办法找出与相关的内存大小p 没有找到此信息的标准方法 然而 一些实现提供了类似的功能msize去做这个 例如 msize在 Windows 上 m