use*_*008 6 objective-c llvm clang bcpl automatic-ref-counting
ARC适用于在extern"BCPL"块中声明的Objective-C指针类型,块指针类型和[开始Apple 8.0,LLVM 3.8] BPTR.
这些"在外部"BCPL"块"中声明的"BPTR"是什么?
这是一个小小的玩笑.
C++能够使用C链接标记标识符,这通常只意味着没有名称修改具有相同名称但不同参数签名的函数,因为C直到最近才没有重载的概念1.
指定链接的方式是将标识符包围在:
extern "C" {
whatever ...
}
Run Code Online (Sandbox Code Playgroud)
现在,BCPL是一种甚至比C更早的语言(它实际上构成了C谱系的一部分),它的"链接"(因为缺少一个更好的词)只是一个称为全局向量的地址表.
你引用的那份文件的作者只是幽默,CLang实际上并没有提供任何 extern "BCPL"东西.您还会注意到当前版本的LLVM是3.2,而3.3直到今年6月才到期.另一个迹象表明作者正在使用LLVM 3.8评论.
由于该句子的意图仅仅是为了说明注释(内部[])是如何工作的,因此文本的其余部分基本上是无关紧要的.
1随着C11中类型泛型表达式的引入,它现在有重载的重载,虽然在编译时而不是运行时完成.