LLVMfunctions,callsandinvokes可以带有一个可选的调用约定来指明调用方式。每一对 caller/callee(调用者/被调用者)的调用约定必须相匹配,不然这个程序的行为是未定义的。下面的是LLVM支持的调用约定形式,并且在未来可能会加入更多:
“ccc” - The C calling convention
这个调用约定(在没有标识其他调用约定时,为默认调用约定)匹配其目标到C调用约定。这个调用约定支持变长参数函数调用并可容忍函数的声明和实现之间存在某些不匹配的地方(像正常的 C一样)
更多得调用约定可能被增加/定义在需要的基础上,从而支持Pascal调用约定或者其他任何知名的依赖于目标的调用约定。
新闻热点
疑难解答