답변:
Java 용 GNU 컴파일러는 Java 소스 코드를 Java 바이트 코드 또는 기계 코드로 변환 할 수 있는 것으로 보입니다 . 기존 Java 바이트 코드를 기계 코드로 변환 할 수도 있습니다. 그러나 최신 뉴스는 2009 년부터이므로 최신 상태인지, Java 언어의 최신 기능을 처리 할 수 있는지 잘 모르겠습니다.
OP에 직접 대답하는 것은 아니지만 아마도 흥미로울 것입니다. Java는 세 가지 모드로 실행될 수 있습니다.
-Xint
해석 - - 플래그 바이트 코드 만-Xcomp
컴파일 - - 플래그 기계 컴파일-Xcomp
JDK 7 문서 또는 HotSpot 옵션 문서에서 찾을 수 없으며 우리가 단순한 필사자가 모르는 숨겨진 메일 링리스트 비밀이 있는지 확실하지 않기 때문에 참조에 대한 정보를 얻지 못합니다.
javac
입니까? -Xcomp를 사용할 때 기본적으로 단일 바이너리 파일을 출력합니까?
System.getProperty (“os.name”)을 사용하여 운영 체제를 감지하는 것이 좋습니다 . 그렇게하면 둘 이상의 OS를 지원하도록 선택할 수 있지만 다른 OS는 제외 할 수 있습니다.
java -Dos.name=MacOS
.
현재 : GraalVM을 사용하면 미리 프로그램을 기본 실행 파일로 컴파일 할 수 있습니다. 기본 이미지 기능을 살펴보십시오 .
요약
https://www.graalvm.org/docs/getting-started/#native-images
데모 : 빠른 시작을위한 기본 이미지
https://www.graalvm.org/docs/examples/native-list-dir/
상세 : 'AOT 컴파일'
https://www.graalvm.org/docs/reference-manual/aot-compilation/
관련 질문 : '자바 코드를 Java로 컴파일 할 수 있습니까?' https://stackoverflow.com/questions/2991799/can-i-compile-java-to-native-code/50555050#50555050
PS GCJ는 더 이상 유지되지 않습니다.
출처 : 'gcj의 삭제' http://tromey.com/blog/?p=911