首页 > 解决方案 > Codename One 类的 Objective-C 编码风格

问题描述

只是理论上的好奇:为什么 Codename One 类的 Objective-C 端口充满了goto语句和标签,例如Label_l12343253,这使得它几乎不可能被阅读?它看起来更像是一种汇编语言,而不是一种高级编程语言。

它是故意混淆代码还是 Java 字节码转换的无意结果?

标签: codenameone

解决方案


这是由于字节码转换。字节码包含 goto 语句,以便更好地适应它。请注意,我们的端口不包括它,这仅在 parpar VM 的输出中,而不是手动编码的端口代码。

理论上,我们可以使用类似于反编译器的启发式方法来生成更好看的代码,但这可能不适用于 C,因此我们尝试尽可能接近字节码。


推荐阅读