ITPub博客

首页 > 数据库 > 数据库开发技术 > 方舟编译器HelloWorld

方舟编译器HelloWorld

数据库开发技术 作者:全栈攻城狮 时间:2019-09-19 08:18:46 0 删除 编辑

方舟编译器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编译器并完成配置(用于编译方舟编译器代码)

下载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、GN 并完成配置

下载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内存后执行成功,执行成功后生成一下文件

开始编译HelloWorld

开始编译

编译成功以后生成以下文件

在这里插入图片描述

https://zhuanlan.zhihu.com/p/81076176

https://blog.csdn.net/fu_shuwu/article/details/100595134

https://blog.csdn.net/littlebirdfirst/article/details/100634654

原文作者:苏盟答腊;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-01-08

  • 博文量
    15
  • 访问量
    2401