尝试方舟编译器下对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

有兴趣的可以先研究下.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值