美文网首页
华为方舟编译器初探

华为方舟编译器初探

作者: 九十九点八 | 来源:发表于2019-10-12 16:15 被阅读0次

    主要过程:
    下载编译器源码 -> 配置开发环境 -> 测试编译用例

    系统要求:Ubuntu-16.04。由于需要安装clang编译环境,而方舟源码中使用了16.04版本中的类型,所以我在一开始使用了Ubuntu 18.04版本+18.04的clang报错。


    1、下载方舟编译器源码

    git clone https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler.git
    

    2、下载对应版本的clang编译器。当时官网推荐使用8.0版本,我是用了9.0也没问题。

    3、修改编译器配置文件(检查下与你对应的路径是否正确)

    // openarkcompiler/build/config/BUILDCONFIG.gn
    GN_C_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang"
    GN_CXX_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang++"
    GN_AR_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/llvm-ar"
    

    注:${MAPLE_ROOT}是方舟编译器的路径,不需要自己去设置,后续编译的时候回自动添加(envsetup.sh)

    4、安装NinjaGN。当时我使用的版本是ninja1.9.0,跟官网推荐一致。
    检查编译器配置文件路径是否正确

    // openarkcompiler/build/config/BUILDCONFIG.gn
    GN := ${MAPLE_ROOT}/tools/gn/gn
    NINJA := ${MAPLE_ROOT}/tools/ninja_1.9.0/ninja
    

    5、编译测试用例

    回到方舟编译器根目录

    // 配置编译器环境 其中MAPLE_ROOT就是在这配置的 如果编译器目录改变 需要重新执行更新
    source build/envsetup.sh
    // 会生成编译器的release版本 如需debug版本执行 `make BUILD_TYPE=DEBUG`
    make
    

    编译过程中我遇到了一个错误找不到javac命令,安装jdk即可,我用了jdk8正常。
    下面是编译HelloWorld的一个准备工作,我偷懒截图了,没有需要说明的。


    编译前配置

    正式编译:

    // 文件夹下会有Makefile文件
    cd samples/helloworld/; make
    

    执行完成后ls看是否会有 HelloWorld.jar,如果有,恭喜你!

    相关文章

      网友评论

          本文标题:华为方舟编译器初探

          本文链接:https://www.haomeiwen.com/subject/cpoqmctx.html