主题:【原创】Delphi XE3发布会纪实 -- 晨池
它的理念简单可以这样理解:编译器前端专注生成Low Level Virtual Machine代码。编译器后端专注把LLVM代码转换成实体机上的代码。
这样的好处是开发不同平台的编译器容易了,还可以混搭。
举例: 用C++ 开发了个程序A ,要发布到x86平台,可:
Source Code A => C++ LLVM前端编译器 => LLVM CODE OBJ A=> x86 LLVM后端编译器 => x86 可执行程序A
要发布到ARM平台,可用上一步生成的LLVM CODE OBJ A,换个后端就可以了:
LLVM CODE OBJ A=> ARM LLVM后端编译器 => ARM 可执行程序A
=========================
理念上很好,要达到真正的平滑,可能还要走较长一段路。
苹果的xCode有采用此种编译方式。
- 相关回复 上下关系8
🙂也许这个发布是针对广大受众的? 1 铁手 字296 2012-11-14 16:19:39
🙂确实讲的比较浅显,但是到场的肯定都是老用户阿 晨池 字270 2012-11-14 23:16:54
🙂llvm, kylix 1 nanimarcus 字170 2012-11-14 03:05:31
🙂LLVM,是个分前端,后端的编译系统,理念很好。内详
🙂freebsd 已经开始用clang和llvm了 兰山 字9 2012-11-17 20:51:11
🙂突然想到,这不就是把Java的字节码再编译成本地执行码么 晨池 字73 2012-11-17 06:30:52
🙂llvm应该是在多语言多平台环境中才有优势 1 假设 字130 2012-11-17 19:24:58
🙂我的意思的是其他语言也可以采用类似Java的做法 晨池 字188 2012-11-17 22:27:49