我一直在玩LLVM ,希望学习如何使用它。
然而,界面的复杂程度让我大吃一惊。
以他们的斐波那契函数为例
int fib(int x) {
if(x<=2)
return 1;
return fib(x-1) + fib(x-2);
}
要让它输出 LLVM IR,需要61 行代码!!!
它们还包括以拥有最小编译器(200 字节)而闻名的 BrainFuck。不幸的是,使用 LLVM,它超过600 行(18 kb)。
这是编译器后端的规范吗?到目前为止,执行汇编或 C 后端似乎要容易得多。