Apple LLVM 4.2,Objective-C的可用__attribute __(())列表

时间:2013-07-29 12:00:04

标签: xcode llvm

我正在寻找可用的__attribute__(())指令列表,但我找不到它们。我只知道__attribute__((objc_requires_super))

我发誓我搜索和搜索,但我没有找到任何东西。也许我在搜索中遗漏了一些术语。

非常感谢你。

3 个答案:

答案 0 :(得分:7)

文档有时会落后。要获得完整的列表,没有比源代码更新的地方了!

https://github.com/llvm-mirror/clang/blob/master/include/clang/Basic/Attr.td

以下是一个例子:

def Visibility : InheritableAttr {
  let Clone = 0;
  let Spellings = [GNU<"visibility">, CXX11<"gnu", "visibility">];
  let Args = [EnumArgument<"Visibility", "VisibilityType",
                           ["default", "hidden", "internal", "protected"],
                           ["Default", "Hidden", "Hidden", "Protected"]>];
}

在这里我们可以看到它是如何在GNU和CXX11 GNU中定义的。它还显示了这种情况下的有效参数(默认,隐藏,内部,受保护)。

答案 1 :(得分:4)

我在del llvm.org网站上找到了你需要的信息 您可以查看以下链接:http://clang.llvm.org/docs/LanguageExtensions.html#objective-c-features

答案 2 :(得分:2)

我刚读过这篇博文,我认为这正是我一直在寻找的。

https://blog.twitter.com/2014/attribute-directives-in-objective-c