原网址是:http://llvm.org/docs/LangRef.html#abstract;
下面这些是我自己的翻译,肯定有很多不恰当的地方,做这些只是希望自己以后翻阅更加方便,如果能对大家有所帮助那是极好的!
appending(附加)
“appending”链接类型仅被应用到指向数组类型的指针的全局变量。当两个全局变量是“appending”链接类型时它们连在一起的,这两个全局数组附加在一起。这是LLVM,类型安全,相当于其系统链接附加的“部分”具有相同的名称当.o文件链接的。
extern_weak
这种链接类型遵循ELF目标文件模型:符号是弱类型,直到联系,如果没有联系,该符号变为null,而不是作为一个未定义的引用。
linkonce_odr, weak_odr
某些语言允许不同的全局值被合并,如两个函数具有不同的语义。其他语言,如C++,确保只有相同的全局值可以合并(“一个定义规则” - “ODR”)。这些语言可以使用linkonce_odr和weak_odr链接类型指示该全局值将只与等效全局值合并。否则这些链接类型是非ODR版本。
external
如果上述标识符的使用,全局外部是可见的,这意味着它参与链接,并可以用于解决外部符号引用。
对于一个函数只能声明为external或者extern_weak链接类型。
调用约定
LLVM的函数,call和invoke都可以对调用指定一个可选的调用约定。任何一对动态调用调用和被调用,其调用约定必须匹配,或者程序的调用约