CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

结果缓冲区内存管理

2022-12-31 23:55| 发布者: admin| 查看: 279| 评论: 0|来自: AutoCAD

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

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

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

示例调用将出现在以下各节的几个代码示例中。acutRelRb()


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 12:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部