首页 > 数据库 > 数据库开发技术 > 方舟编译器HelloWorld
方舟编译器已经开源,官网见
https://www.openarkcompiler.cn/home
根据官方文档进行操作
环境配置请阅读 Development_Preparation.md 文档
2 GHz 双核处理器或者更高等级CPU
2 GB 系统内存及以上
200GB 可用磁盘空间
下载地址:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/home,可以通过Clone or Download的方式下载openarkcompiler源码
注:默认源码下载目录为openarkcompiler
您需要安装一个64位版本的Ubuntu(推荐Ubuntu 16.04)
下载clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04
LLVM下载地址:http://releases.llvm.org/download.html#8.0.0
放置到openarkcompiler/tools目录,打开openarkcompiler/build/config/BUILDCONFIG.gn文件,将GN_C_COMPILER、GN_CXX_COMPILER和GN_AR_COMPILER三个变量配置为Clang编译器所在路径,例如:
其中${MAPLE_ROOT}为openarkcompiler源码根目录。
由于官方提供的地址(由于某种特殊原因墙)下载较慢,因此提供百度云下载地址
https://pan.baidu.com/s/1bGc-rC1gm8SeCiemJf01Hw
clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
下载Ninja(v1.9.0)及GN(Linux Version)
Ninja下载地址:https://github.com/ninja-build/ninja/releases
GN下载地址:https://archive.softwareheritage.org/browse/content/sha1_git:2dc0d5b26caef44f467de8120b26f8aad8b878be/raw/?filename=gn
将GN和Ninja可执行程序放置到openarkcompiler/tools目录,打开openarkcompiler/Makefile文件,将GN和NINJA两个变量配置为GN和Ninja可执行程序所在路径。例如:
由于官方提供的地址(由于某种特殊原因墙)下载较慢,因此提供百度云下载地址
GN的下载地址: https://pan.baidu.com/s/10x9XeVm0iN3fu2j6xgb4qw
Ninja的下载地址:https://pan.baidu.com/s/1TT0PN5d9t22_ubMWMURDDA
在openarkcompiler目录下执行以下命令,编译出OpenArkCompiler,默认输出路径 openarkcompiler/out/bin。
命令说明:
source build/envsetup.sh 初始化环境,将OpenArkCompiler工具链路径openarkcompiler/src/bin设置到环境变量中make 编译OpenArkCompiler的Release版本make BUILD_TYPE=DEBUG 编译OpenArkCompiler的Debug版本经过以上操作后,系统就编译好了maple了。
要编译成功samples 下的helloworld.java 还需要做如下修改
修改 build/core/java2jar.mk 为如下代码
也就是将里面的
删除,让它不依赖于这个输入文件
修改 build/core/jbc2mpl.mk 为如下代码。
用java-core.jar 替换 libjava-core.mplt 也就是$(LIB_MPLT)
修改out/bin/java2jar 为如下代码
下载java-core.jar 库
下载路径如下,并把相关库放到如下目录的libjava-core里面
https://gitee.com/mirrors/java-core
libjava-core IR文件生成
执行这个步骤需要一定的时间,笔者使用ubuntu虚拟机2G内存,执行失败,killed,后来修改成4G内存后执行成功,执行成功后生成一下文件

https://zhuanlan.zhihu.com/p/81076176
https://blog.csdn.net/fu_shuwu/article/details/100595134
https://blog.csdn.net/littlebirdfirst/article/details/100634654
原文作者:苏盟答腊;如有侵权,请联系管理员删除。