2005年9月12日 星期一

Hello Java!

已經好久好久都沒有寫過 Java 的程式了
週末剛好在 GNU/Linux 上面試著寫個 Hello Java!

// Hello.java
class Hello {
public static void main(int argc, string[] args) {
System.out.println("Hello Java!");
}
}

$ gcj -C Hello.java
Hello.java:2: error: Type 'string' not found in the declaration of the argument 'args' of method 'main'.
public static void main(int argc, string[] args) {
^
1 error

疑~ 是哪裡寫錯了嗎!? @.@a
原來在 Java 上的 String 開頭要大寫啊...XD

// Hello.java
class Hello {
public static void main(int argc, String[] args) {
System.out.println("Hello Java!");
}
}

$ gcj -C Hello.java
$ gij Hello
no suitable method `main' in class

哇哩勒~ 原來 Java 不用加上 int argc 啊...XD
// Hello.java
class Hello {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}

$ gcj -C Hello.java
$ gij Hello
Hello Java!

這次總算對了吧...嘿嘿... ^__^
試試看直接編成 native binary executable file

$ gcj Hello.java
/usr/lib/gcc/i386-redhat-linux/4.0.1/../../../crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
collect2: ld returned 1 exit status

吼~ 這次又是怎麼回事啊... XD
原來是要加上 --main 啊... >"<

$ gcj --main=Hello Hello.java
$ ./a.out
Hello Java!

耶! 果然成功了~~~ ^__^y
後來還發現可以這樣用

$ gcj Hello.java -lgij
$ ./a.out
Usage: gij [OPTION] ... CLASS [ARGS] ...
to invoke CLASS.main, or
gij -jar [OPTION] ... JARFILE [ARGS] ...
to execute a jar file
Try `gij --help' for more information.

錯! 應該要這樣用! XD

$ ./a.out Hello
Hello Java!

久久沒用 Java 寫程式還真的是忘了一堆東西耶... Orz

1 則留言:

yjchen 提到...

我幾乎跟你幹了一樣的蠢事。
正打算跟你寫差不多的內容;呵呵,既然你寫了,可以借來備忘嗎?