CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

结果缓冲区内存管理

2024-5-18 18:49| 发布者: admin| 查看: 95| 评论: 0|原作者: admin|来自: AutoCAD

结果缓冲区内存管理

结果缓冲区列表和类似的 AutoLISP 结果列表之间的主要区别在于,ObjectARX 应用程序必须显式管理它创建和使用的列表。无论应用程序是创建列表还是传递列表,应用程序都有责任释放它分配的结果缓冲区。ObjectARX 不像 AutoLISP 那样具有自动垃圾回收功能。应用程序必须调用库函数,以便在应用程序完成动态分配的结果缓冲区时释放这些缓冲区。acutRelRb()

该函数释放指定结果缓冲区后面的整个列表,包括指定的 (head) 缓冲区本身以及列表中的缓冲区指向的任何字符串值。若要在不删除缓冲区本身的情况下释放字符串,或者释放属于静态结果缓冲区的字符串,应用程序必须调用标准 C 库函数。acutRelRb()free()

危险:不要将数据写入未通过直接调用 ObjectARX 库或与 ObjectARX 库(包括 )分配的动态位置。这可能会损坏内存中的数据。相反,调用或释放静态分配的数据(在静态或自动变量声明中)也会损坏内存。将静态分配的变量(如字符串)插入到结果缓冲区列表中会导致程序在释放带有 的列表时失败。malloc()acutNewRb()free()acutRelRb()acutRelRb()

示例调用将显示在以下各节的多个代码示例中。acutRelRb()


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-3-14 06:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部