https://github.com/guxingke/neojam
JamVM adapted version on macOS Catalina 10.15.6
https://github.com/guxingke/neojam
interpreter jamvm jdk8 jvm
Last synced: over 1 year ago
JSON representation
JamVM adapted version on macOS Catalina 10.15.6
- Host: GitHub
- URL: https://github.com/guxingke/neojam
- Owner: guxingke
- Created: 2020-08-11T11:50:02.000Z (almost 6 years ago)
- Default Branch: analysis
- Last Pushed: 2021-01-26T05:16:01.000Z (over 5 years ago)
- Last Synced: 2025-03-24T14:44:58.600Z (over 1 year ago)
- Topics: interpreter, jamvm, jdk8, jvm
- Language: C
- Homepage:
- Size: 430 KB
- Stars: 16
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NeoJam
[JamVM](http://jamvm.sourceforge.net/) 的 macOS x86_64 精简移植版。
配合 [GNU Classpath](https://www.gnu.org/software/classpath/) 作个人研究之用。
# 编译
前置条件, 安装 `Xcode` 或者 `Command Line Tools`。
## 编译安装 GNU Classpath
参考 [classpath-0.99](https://github.com/guxingke/classpath-0.99) 编译安装
## 编译 NeoJam
### 编译 classes
```bash
cd lib && ./build.sh && cd ../
```
### 编译 NeoJam
- 编译
```bash
mkdir build
cd build
cmake ../
make
```
- 测试
```bash
cat < 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,需要调试其他平台,可参考原项目进行移植。
# 源码分析相关
- [源码文件说明](doc/files.md)