GCJ: The GNU Compiler for Java Programming Language
프로그래밍/개발 2005/06/27 21:18GCC 컴파일러의 확장 기능인 셈인데, 이거 생각보다 꽤 재미있는 녀석인것 같다.
본인이 Linux 나 기타 *nix 계열을 안쓰는 고로 MinGW (Win32) 에서 테스트 해 보았다.
평소에 Java Language 를 전혀 안쓰는고로 JRE 등은 전혀 안깔려있어서, 그냥 무작정 MinGW 패키지만 집어다 설치했다.
쓰기는 생각보다 간단했다.
Hello, World! 를 출력하는 코드만 컴파일 해 봤다.
Hello.java
{
public static void main(String[] args)
{
System.out.println("Hello, World!"); // display the string.
}
}
gcj --main=HelloWorldApp -o hello.exe hello.java
이 정도면 hello.java 가 컴파일 되어 Win32 PE 실행파일로 떡. 하니 떨어진다. (하지만 무려 3.4MB, UPX 로 압축하니까 1.9MB 나온다. --strip-debug 도 안먹는다. OTL)
들리는 말로는 Eclipse 의 byte code 를 gcj 로 컴파일해서 쓸 수 있다고 하는데, 본인이 Eclipse 도 안쓰는 고로... 모르겠다 ;
개발자로써 (특히 게임 개발자로써) 느끼는 바는, 언어의 취지에는 심히 맞지 않겠지만 (high-portable 에 관해서는) java 언어의 장점을 살려서 native 코드를 생성하는 용도로도 충분히 괜찮지 않을까 하는 생각이 든다. (왜냐면.. byte 코드보다는 당연히 빠르니까!)
흔히 게임 본체를 생성하는 용도 외에, 개발툴을 만드는 용도로 C/C++ with MFC 가 많이 이용되고, 커맨드라인 툴에는 역시 C/C++/Python 등등이 많이 이용되는데, Java언어가 손에 익숙하다면 Java 언어도 충분히 괜찮지 않을까 ; (Swing 같은 GUI 툴킷도 컴파일된다면 금상첨화!)
