对奉行实用至上的程序员来说,Linux的创始人Linus Torvalds的名言“Talk is cheap,show me the code.”这句话确实是戳到了心里。
8月31日,华为如约开源方舟编译器,并将源代码放出。然而开源并非是在GitHub上,而是自建了一个“华为开源平台”。
这意味着华为自己的开源平台也一并问世。
坊间猜测,这是由于7月底GitHub封禁了一批伊朗账户,让华为意识到了将方舟编译器和鸿蒙系统在GitHub上开源的风险,因此赶工赶出来一个开源平台。
目前平台上只有两个仓库,一是HarmonyOS/OpenArkComplier,另一个是测试用的example。
方舟编译器源码编译方舟编译器开源之后,引起了业界广泛关注,方舟编译器仓库的文档也表示开发者可以根据方舟官方文档编译出OpenArkCompiler。
编译完成之后,在OpenArkCompiler/out目录之下,会有如下几个文件:
其实这几个文件在未编译之前,在OpenArkCompiler/src/bin目录下就有。读了下OpenArkCompiler目录下的Makefile,其中java2jarjbc2mplmplcg都是直接从src/bin目录之下copy到out/bin目录之下的。只有maple有点特殊,它应该是编译生成的,然后install的时候反向copy到了src/bin目录之下,所以编译完成之后查看状态(git status),会发现src/bin/maple发生了变化。
OpenArkCompiler/Makefile中关于install的代码:
.PHONY: installinstall: mapleall $(shell cp -rf $(MAPLE_ROOT)/src/bin/java2jar $(MAPLE_ROOT)/out/bin/) $(shell cp -rf $(MAPLE_ROOT)/src/bin/jbc2mpl $(MAPLE_ROOT)/out/bin/) $(shell cp -rf $(MAPLE_ROOT)/src/bin/mplcg $(MAPLE_ROOT)/out/bin/) $(shell cp -rf $(MAPLE_ROOT)/out/bin/maple $(MAPLE_ROOT)/src/bin/)
另外附上作者方舟编译器学习笔记系列链接。
方舟编译器学习笔记1:方舟相关资料
https://zhuanlan.zhihu.com/p/80624361
方舟编译器学习笔记2:源码编译
https://zhuanlan.zhihu.com/p/80643681
方舟编译器学习笔记3:方舟可执行文件简介
https://zhuanlan.zhihu.com/p/80693868
方舟编译器学习笔记4:文档导读
https://zhuanlan.zhihu.com/p/80783831
方舟编译器学习笔记5:方舟开始接受代码合并请求
https://zhuanlan.zhihu.com/p/80905553
方舟编译器学习笔记6:方舟开源目录简介
https://zhuanlan.zhihu.com/p/81046562
花粉社群VIP加油站
猜你喜欢