bitcode 和 bytecode的区别是什么

如题所述

最大的区别是LLVM IR是SSA的,使用寄存器模型,而Java Bytecode是栈模型。对于编译器来说,栈模型是更好做的,也就是说更容易程序编写的。然而其实寄存器模型,性能才是更好的,所以很多编译器的中间语言都有寄存器模型,同时为了程序编写的方便也有栈模型的中间语言,然后由栈模型的中间语言L1转换到寄存器模型的中间语言L2,具体的可以参看鲸书第一章,那里面谈了中间语言的选择。

bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode允许苹果在后期重新优化程序的二进制文件,而不需要重新提交一个新的版本到App store上。

bytecode是一种包含执行程序,由一序列 op 代码/数据对组成的二进制文件。是一种中间码。
温馨提示:答案为网友推荐,仅供参考
相似回答