CoreFoundation 和一般指针
CoreFoundation and general pointers
简单的问题。我似乎觉得 CoreFoundation
并不是真正为处理而设计的,例如,指向结构(包含 CF 对象)的指针。 CFArrayAppendValue
将采用任何指针值来追加,但如果我尝试 CFShow
它会出现段错误。
我还注意到没有 CFTypeID
裸指针,尽管您可能会争辩说您可以通过其他 CF 类型的耗尽来检测裸指针,但这很痛苦。
我的印象正确吗?我应该尽可能使用 CF 类型并避免将 CF 与非 CF 事物混合使用吗?
如果我想使用结构体,我是否应该改用 CFDictionary
之类的东西?
我不认为 CoreFoundation 容器旨在用于存储 CoreFoundation 对象以外的任何内容。常规 C 结构之间的任何桥接都可以通过 CFData 对象和包装器方法完成(另请参见 http://www.cocoabuilder.com/archive/cocoa/22246-implementing-new-corefoundation-types.html)。
简单的问题。我似乎觉得 CoreFoundation
并不是真正为处理而设计的,例如,指向结构(包含 CF 对象)的指针。 CFArrayAppendValue
将采用任何指针值来追加,但如果我尝试 CFShow
它会出现段错误。
我还注意到没有 CFTypeID
裸指针,尽管您可能会争辩说您可以通过其他 CF 类型的耗尽来检测裸指针,但这很痛苦。
我的印象正确吗?我应该尽可能使用 CF 类型并避免将 CF 与非 CF 事物混合使用吗?
如果我想使用结构体,我是否应该改用 CFDictionary
之类的东西?
我不认为 CoreFoundation 容器旨在用于存储 CoreFoundation 对象以外的任何内容。常规 C 结构之间的任何桥接都可以通过 CFData 对象和包装器方法完成(另请参见 http://www.cocoabuilder.com/archive/cocoa/22246-implementing-new-corefoundation-types.html)。