普通 C 中的安全范围书签

Secure Scoped Bookmark in plain C

我正在尝试创建一个管理安全范围的书签,但只需要使用纯 C,即在纯 C 文件中使用 Objective-C。

这是可行的还是我应该放弃?

有什么建议吗? 我可以在 C 函数中调用 Obj-C 函数并将文件保留为 .c 吗?

提前谢谢大家, 尼古拉斯

这是可行的,但它与编译器为您完成的工作基本相同。而且你不能使用 ARC。

我发现最好的文档在 objc 包含文件夹中的头文件中。

例如在 #include <objc/message.h

中查找 objc_msgSend 的变体

我无法想象为什么在支持 Objective-C 的情况下您只想使用 C。但如果你真的想这样做,那么一个有效的方法是使用 CoreFoundationNSURL 和内存管理的支持。

所有URL CoreFoundation函数都可以找到here.

关于内存管理,您可能对 CFRetain/CFRelease 函数感兴趣,这些函数描述得很好 here

基本上,如果 C 是您想要的全部,那么 CoreFoundation 是一个好的开始,因为它支持许多 Cocoa/CocoaTouch 类型。