guxingke / neojam

JamVM adapted version on macOS Catalina 10.15.6

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NeoJam

JamVM 的 macOS x86_64 精简移植版。

配合 GNU Classpath 作个人研究之用。

编译

前置条件, 安装 Xcode 或者 Command Line Tools

编译安装 GNU Classpath

参考 classpath-0.99 编译安装

编译 NeoJam

编译 classes

cd lib && ./build.sh && cd ../

编译 NeoJam

  • 编译
mkdir build
cd build
cmake ../
make
  • 测试
cat <<EOF > HelloWorld.java
public class HelloWorld {
  public static void main(String[] args) {
    String x = "Hello";
    String y = " NeoJam";

    System.out.println(x + y);
  }
}
EOF

javac HelloWorld.java

./java HelloWorld

# 输出 `Hello NeoJam` 即为正常

调试

使用 Clion 打开即可。

局限

  1. 只支持 macos x86_64,需要调试其他平台,可参考原项目进行移植。

源码分析相关

About

JamVM adapted version on macOS Catalina 10.15.6


Languages

Language:C 83.0%Language:Java 13.2%Language:Objective-C 2.3%Language:C++ 0.9%Language:Assembly 0.5%Language:Shell 0.1%Language:CMake 0.1%Language:TeX 0.0%