IOBufferMemoryDescriptor 是否应该免费释放?
Should IOBufferMemoryDescriptor be released of free'd?
我正在查看 IOBufferMemoryDescriptor
的文档。它说 “...除非另有说明,否则您还负责释放您分配的缓冲区。”。
IOBufferMemoryDescriptor::free
也存在。我的问题是:我应该使用 free
还是 release
(或者两者都用)来进行清理?
当使用 OSSafeReleaseNULL
删除最后一个句柄时,会自动调用 free()
。 (这会在内部调用 release()
,但通常最好使用宏。)
所以,永远不要直接调用free()
方法,你只需要在自己的子类中覆盖它的上下文中关心它。始终在 OSObject
派生的 类.
上使用引用计数机制
我正在查看 IOBufferMemoryDescriptor
的文档。它说 “...除非另有说明,否则您还负责释放您分配的缓冲区。”。
IOBufferMemoryDescriptor::free
也存在。我的问题是:我应该使用 free
还是 release
(或者两者都用)来进行清理?
OSSafeReleaseNULL
删除最后一个句柄时,会自动调用 free()
。 (这会在内部调用 release()
,但通常最好使用宏。)
所以,永远不要直接调用free()
方法,你只需要在自己的子类中覆盖它的上下文中关心它。始终在 OSObject
派生的 类.