尝试方舟编译器下对Java中标识符中文命名

之前承蒙这位测试, 方舟编译器支持Java下的中文命名标识符: 跑不通的可参考Z乎的这篇文章,已找到一个可使测试用例编译通过的java-core库 · Issue #I11R87 · HarmonyOS/OpenArkCompiler - 码云 Gitee.com

为了确认之前(手工翻译方舟编译器源码:尝试重命名标识符与文本)的源码汉化不会影响编译, 自己也试试.

编译方法参考: 小乖他爹:方舟编译器学习笔记8 工具链可运行(helloworld编译成功)

注: 留意jbc2mpl命令需在libjava-core下运行, 否则报错"Unable to open java-core.jar".

编译helloworld后, 运行$java HelloWorld输出"Hello World!"无误.

下面改为你好.java 如下:

public class 你好 {
    public static void main(String[] args) {
        System.out.println("吃了么!");
    }
}

Makefile修改为:

APP = 你好
include $(MAPLE_BUILD_CORE)/maple_test.mk

照前一样编译, 运行$java 你好也正确输出"吃了么!" (09/13补: 貌似生成.class这步是用了OpenJDK而非方舟?)

比较在意的是, 生成的.class文件小一些在预料之内, 但其他所有文件比英文的大一圈(如下):

-rw-r--r-- 1 xw xw   534 Sep  8 03:25 HelloWorld.class
-rw-r--r-- 1 xw xw   790 Sep  8 03:25 HelloWorld.jar
-rw-r--r-- 1 xw xw   124 Sep  8 04:33 HelloWorld.java
-rw-r--r-- 1 xw xw  2442 Sep  8 03:47 HelloWorld.mpl
-rw-r--r-- 1 xw xw   488 Sep  8 03:47 HelloWorld.mplt
-rw-r--r-- 1 xw xw     0 Sep  8 03:47 HelloWorld.VtableImpl.groots.txt
-rw-r--r-- 1 xw xw 12517 Sep  8 03:47 HelloWorld.VtableImpl.mpl
-rw-r--r-- 1 xw xw   118 Sep  8 03:47 HelloWorld.VtableImpl.primordials.txt
-rw-r--r-- 1 xw xw 20520 Sep  8 03:47 HelloWorld.VtableImpl.s
-rw-r--r-- 1 xw xw    55 Sep  8 03:49 Makefile
-rw-r--r-- 1 xw xw   520 Sep  8 03:49 你好.class
-rw-r--r-- 1 xw xw  1248 Sep  8 03:49 你好.jar
-rw-r--r-- 1 xw xw   118 Sep  8 03:49 你好.java
-rw-r--r-- 1 xw xw  4370 Sep  8 03:49 你好.mpl
-rw-r--r-- 1 xw xw   712 Sep  8 03:49 你好.mplt
-rw-r--r-- 1 xw xw     0 Sep  8 03:49 你好.VtableImpl.groots.txt
-rw-r--r-- 1 xw xw 17231 Sep  8 03:49 你好.VtableImpl.mpl
-rw-r--r-- 1 xw xw   142 Sep  8 03:49 你好.VtableImpl.primordials.txt
-rw-r--r-- 1 xw xw 30927 Sep  8 03:49 你好.VtableImpl.s

有兴趣的可以先研究下.

上一篇:PC端Ubuntu18.04如何通过SSH与树莓派Ubuntu Mate18.04通信


下一篇:48/49 前端--CSS样式