我在 Sparc LLVM 后端找到这段代码:
extern "C" void LLVMInitializeSparcTargetInfo() {
RegisterTarget<Triple::sparc, /*HasJIT=*/true> X(TheSparcTarget, "sparc",
"Sparc");
RegisterTarget<Triple::sparcv9, /*HasJIT=*/true> Y(TheSparcV9Target,
"sparcv9", "Sparc V9");
RegisterTarget<Triple::sparcel, /*HasJIT=*/true> Z(TheSparcelTarget,
"sparcel", "Sparc LE");
}
我不明白这些 X
、Y
、Z
宏的作用,我找不到它们的任何定义或文档。
最佳答案
是什么让您认为这些是宏?
对我来说,X
、Y
和 Z
看起来像是用于实例化注册对象的一次性名称。
您应该寻找 RegisterTarget
的文档。
关于c++ - X()、Y() 和 Z() 宏在 LLVM 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076214/