[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 08/29 13:30 / Filesize : 142 KB / Number-of Response : 530
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

gcjって使ってる人います?



1 名前:デフォルトの名無しさん mailto:sage [03/03/03 02:56]
1なのにsageちゃうあたりがgcj


本家
gcc.gnu.org/java/


関連:
「GCCについて part2」
pc2.2ch.net/test/read.cgi/tech/1046179115/

331 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 21:13:36 ]
329にちょっと追加してみた。
String s1 = "\u3042";
System.out.println(s1);
System.out.write(s1.getBytes("Shift_JIS"));
System.out.println();
System.out.println(System.getProperty("user.language"));
System.out.println(System.getProperty("file.encoding"));
OutputStreamWriter ow = new OutputStreamWriter(System.out, "Shift_JIS");
ow.write(s1 + "\r\n");
ow.close();

$ gcj --main=Test Test.java

$ ./a.exe
?

en
8859_1


$ gcj --version
gcj (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)

一行目が文字化けするのはfile.encodingが違うからだけど、
5行目からちゃんと明示的に指定すれば文字化けしないことがわかる。
入力系は見てないけど同じような感じで確認してみたら?

332 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 21:21:44 ]
page.freett.com/gikob/gcj/japanese.html
この方法は使えないの?

333 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 21:51:38 ]
# gcj -g -O2 --main=Test --classpath=. Test.java Input_SJIS.o Input_EUCJIS.o Input_UTF8.o Input_iconv.o Output_SJIS.o Output_EUCJIS.o Output_UTF8.o Output_iconv.o
# ./a
?

en
8859_1


eucにしたらなったぜ!

334 名前:デフォルトの名無しさん [2005/08/28(日) 22:26:04 ]
>>323
>現在のところ、 libgcjとJava 2プラットフォームの相違点を一覧にしたものはありません。

詳細な比較じゃないけど、パッケージごとのだいたいの比較がここにある:
www.kaffe.org/~stuart/japi/
でも、メソッドが用意されていて中身がない場合もあるから、あんまり役には立たないかも。

335 名前:314 mailto:sage [2005/08/28(日) 23:04:58 ]
おかげさまで>>332
の方法で上手くいったっす。

皆さんありがとうごさいます。

#ていうかリンカオプションとかその辺の問題?

336 名前:314 mailto:sage [2005/08/28(日) 23:15:48 ]
#サポートしてるエンコード全部リンクするのをよしとしない気持ちもわかるけど
#リンクオプションみたいなので指定させてくれてもいいかなと思った。


337 名前:デフォルトの名無しさん mailto:sage [2005/08/29(月) 19:57:31 ]
いろいろ試した限り cygwin の gcj より MinGW 4.1 の gcj の方がずっといい感じ…
libiconvを追加でインストールする必要があるのが面倒だけど,
ソースコードのエンコーディングを gcj --encoding=utf-8 とかで指定できるし
Reader,Writerのエンコーディングも上みたいに面倒なことしなくても使えるっぽいよ?

338 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 13:28:39 ]
>>335
Linuxのgcjですが、
gcc バージョン 4.0.2 20050913 (prerelease) (Debian 4.0.1-7)

$ cat Test.java# これはdefault encodingのEUC-JPで書かれている。
public class Test{
public static void main(String args[]){
System.out.println("日本語表示のテスト");
}
}
$ gcj --main=Test Test.java
$ ./a.out
日本語表示のテスト# EUC-JPで出力されている
$ ./a.out | hexdump -C# 確認
00000000 c6 fc cb dc b8 ec c9 bd bc a8 a4 ce a5 c6 a5 b9 |................|
00000010 a5 c8 0a |...|
$ gcj -Dfile.encoding=SJIS --main=Test Test.java
$ ./a.out | hexdump -C
00000000 93 fa 96 7b 8c ea 95 5c 8e a6 82 cc 83 65 83 58 |...{...\.....e.X|
00000010 83 67 0a |.g.|

で何の問題もなし。出力はちゃんとSJISになっている。

339 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 13:30:24 ]
それから>>332のページ、
> 日本語をそのままJavaの内部コードのUTF-8で出力したからです
って書いているけれど、内部はUCS-2だから、
default I/O encodingの間違いだね。



340 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 20:53:52 ]
>>338
ちなみにプロパティはコンパイル時に指定する以外に
環境変数GCJ_PROPERTIESで設定することもできる.
$ env GCJ_PROPERTIES="file.encoding=SJIS" ./a.out
みたいに走らすと出力がShift_JISになるはず(gcj3.3.2 on linux にて確認)

341 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 21:26:30 ]
これだね。
gcc.gnu.org/onlinedocs/gcj/Extensions.html#Extensions

設定できるプロバティ
13 System properties
gcc.gnu.org/onlinedocs/gcj/System-properties.html#System-properties

342 名前:デフォルトの名無しさん [2005/09/30(金) 11:55:21 ]
gcj便利なのですがコンパイルする度にすごい時間がかかりますよね。
そこでjavacのようにclassファイルをハードディスクに保存させ、
次回のコンパイル時にはそれを再利用して速度を上げるようなことはできますか?
javacだと変更箇所だけをコンパイルし直すので時間の節約になります。

343 名前:デフォルトの名無しさん [2005/09/30(金) 12:35:06 ]
すみません、説明不足でした。
質問したかったことは .class ファイルから生成した .o ファイルなどのようなバイナリを
ハードディスクに保存させる方法です。

344 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 12:40:25 ]
-c

345 名前:デフォルトの名無しさん [2005/09/30(金) 13:05:01 ]
>>344
どうもありがとうございます。うまくいきました!

もう一つ質問させて下さい。
jniのdllファイルをリンクしてコンパイルするには以下のような構文でOKでしょうか。
gcj -o Hoge.exe --main=com.hoge.Main Hoge.java Hoge.dll

Hoge.java のソースでは System.loadLibrary をコメントアウトして
private static final native long getHoge();
という宣言が書いてあります。

346 名前:デフォルトの名無しさん mailto:sage [2005/10/01(土) 00:18:14 ]
minGWでcj使おうと思ったら
gcj: installation problem, cannot exec `cc1': No such file or directory
なんて表示された。解決策分かる人いませんか

347 名前:デフォルトの名無しさん mailto:sage [2005/10/01(土) 00:33:22 ]
>>346
インストールされてないだけだべ。

348 名前:デフォルトの名無しさん mailto:sage [2005/10/01(土) 01:38:25 ]
>>347
ありがと〜gcc-coreのインストしわすれでした。変なところでつまずいてしもた。

349 名前:デフォルトの名無しさん [2005/10/03(月) 19:03:28 ]
Java 1.3.1 で問題なく動いているソースを gcj 3.4.4 でコンパイルしました。
いざ実行すると次の例外をはいて終了してしまいます。

java.lang.NullPointerException
<<No stacktrace available>>
java.lang.ExceptionInInitializerError
<<No stacktrace available>>
Caused by: java.lang.RuntimeException
<<No stacktrace available>>

エラーの発生箇所がつかめないので、スタックトレースを表示させたいのですが可能でしょうか?
それ以外に原因となっている箇所を特定する方法はあるのでしょうか?



350 名前:デフォルトの名無しさん mailto:sage [2005/10/03(月) 19:15:29 ]
出ない?シンボル消したとかじゃなくて出ない?

351 名前:デフォルトの名無しさん mailto:sage [2005/10/03(月) 20:42:15 ]
>>350

No stack trace availableと表示されて、本物が出ないです。。
gcj で使ったオプションは -fjni -O3 です、、、
どうやればよいのやら。

352 名前:デフォルトの名無しさん mailto:sage [2005/10/03(月) 20:46:19 ]
javacのほうはgenerate debugging symbolsを有効にしてあります。

353 名前:デフォルトの名無しさん mailto:sage [2005/10/03(月) 21:08:08 ]
gcc.gnu.org/java/gdb.html

354 名前:デフォルトの名無しさん [2005/10/03(月) 21:59:02 ]
だめです、、、トホホ。
ここでMain.mainを指定しても認識できませんでした。
やりなれたスタックトレースをつかったデバッグができないのはつらいです。

(gdb) break Main.main
Can't find member of namespace, class, struct, or union named "Main.main"
Hint: try 'Main.main<TAB> or 'Main.main<ESC-?>
(Note leading single quote.)
(gdb)


355 名前:デフォルトの名無しさん mailto:sage [2005/10/03(月) 23:43:35 ]
javacがでてくるのが不思議なんだが、もしかしてjavacでいちいちクラスファイル
を生成させてからgcjでAOTコンパイルさせているのかな?

356 名前:デフォルトの名無しさん mailto:sage [2005/10/03(月) 23:49:51 ]
こちらXcodeというIDEを使っていましてjavacが使われています。
通常はjarファイルにパッケージして使っています。
そのjarファイルをgcjでコンパイルできるようになればいいのですが、

357 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 19:13:49 ]
OSXかあ、なんか違うのかな?
手元だと、linux gcj-3.3 or 3.4 でやっても winのgcj-3.4でも、
両方linuxでコンパイルだけどスタックトレースでるよ
当然なんだろうけどシンボル消しちゃうと出ないね、upxでも出なくなる
No stack trace availableはでない、stripかけると
at 0x004c924e (Unknown Source)
at 0x004c9742 (Unknown Source)

ずらーっと単純に表記が番地にかわるだけでスタックトレースは機能はしてる
そのメッセージ見たことない
XCODEって無茶苦茶ハンサムなIDEだね

358 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 20:15:08 ]
>>357
ありがとうございます。
一応、普通のjavaで起動して動作確認してみたところスタックトレースは表示されます。
なのでjarファイルの中のシンボルは消されていないようです。
問題なのはgcj で書き出しだ.oバイナリです。
コンパイル時に何らかのオプションをつけてシンボルを消さないようにする必要があるのでしょうか?

念のため windows の mingw の gcj 3.4.4 でもコンパイルしてみましたが症状は変わらずじまいです。

359 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 20:30:20 ]
>>358
Xcodeとの連携や最適化は後で考えろ
とにかく今はXcodeのことはいったん棚に上げて
javacのclassファイルを使わずにjavaソースを直接gcjにかけろ
-gオプションを付け忘れるな
とりあえず最適化(-O3)はやめとけ

慌 て る 乞 食 は 貰 い が 少 な い



360 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 20:39:45 ]
出ない?

public class A {
public static void main(String[] argv) {
try {
argv[10] = null;
} catch (Exception e) {
e.printStackTrace();
}
}
}

この A.java を保存してカレントで
gcj --classpath=. --main=A -o A A.java
./AとかA.exeとかで出るはずだけど、もし、こゆー事じゃないの?

361 名前:デフォルトの名無しさん [2005/10/04(火) 21:38:39 ]
>>360氏の助言を参考にA.javaをコンパイルしてみましたが、、、

user:~/gcj user$ /usr/local/bin/gcj --classpath=. --main=A A.java
/usr/bin/ld: warning multiple definitions of symbol _sqrt
/usr/local/lib/gcc/powerpc-apple-darwin7.9.0/3.4.4/../../../libgcj.dylib(libgcj.5.0.0.dylib-master.o) definition of _sqrt
/usr/lib/libm.dylib(sqrt970.o) definition of _sqrt
/usr/bin/ld: warning multiple definitions of symbol _fabsf
/usr/local/lib/gcc/powerpc-apple-darwin7.9.0/3.4.4/../../../libgcj.dylib(libgcj.5.0.0.dylib-master.o) definition of _fabsf
/usr/lib/libm.dylib(fabs.o) definition of _fabsf
/usr/bin/ld: warning multiple definitions of symbol _fabs
/usr/local/lib/gcc/powerpc-apple-darwin7.9.0/3.4.4/../../../libgcj.dylib(libgcj.5.0.0.dylib-master.o) definition of _fabs
/usr/lib/libm.dylib(fabs.o) definition of _fabs
/usr/bin/ld: warning multiple definitions of symbol _scalbn
/usr/local/lib/gcc/powerpc-apple-darwin7.9.0/3.4.4/../../../libgcj.dylib(libgcj.5.0.0.dylib-master.o) definition of _scalbn
/usr/lib/libm.dylib(scalb.o) definition of _scalbn

と何やらエラーらしき物が表示され

user:~/gcj user$ ./a.out
java.lang.ArrayIndexOutOfBoundsException: 10
<<No stacktrace available>>

起動しても同様にスッタクトレースが表示されませんでした。
-g オプションをつけて、作業中のjavaソースを直接コンパイルしても同様の結果でした。

362 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 21:43:04 ]
Darwin(Mac OS X)は、バイナリ実行形式がELFじゃなくて、Mach-Oだからなあ。
まだgcjのportingが十分じゃないんでしょ。
Mach-Oのせいでいろいろポーティングが遅れるんだなあ…
ELFにすべきだったと思うよ。

363 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 21:44:19 ]
それは言える。

364 名前:デフォルトの名無しさん [2005/10/07(金) 21:24:41 ]
MinGwのサイトにlibiconvのPORT版のファイルがありますよね。
それをコンパイルしてインストールしたいのですが
手順が解説されているサイトなどご存知ありませんか。
gcjを使おうとするとiconvが必要といわれます。

365 名前:デフォルトの名無しさん [2005/10/08(土) 01:48:06 ]
スレ違いだけど、

Max OS XをELFにしてたら、ファットバイナリの仕組が作り直しだから、
PowerPCからIntelへの乗り換えのハードルが高くなったず。

366 名前:デフォルトの名無しさん mailto:sage [2005/10/08(土) 01:57:21 ]
>>365
アプリケーションバンドルの実体ってフォルダだから、その気になれば
なんとでもなる気はするけどね。

367 名前:デフォルトの名無しさん mailto:sage [2005/10/08(土) 02:19:41 ]
>>364
mingw-port はどれも微妙…というかまず ports 使うためにちょっとだけ準備がいるので
iconv だけなら普通にソース取ってきて./configure && make install した方が楽っぽい.

面倒なら
cefiro.homelinux.org/topics/MinGW/setup.html
とかからバイナリ拾って展開しれ

368 名前:デフォルトの名無しさん mailto:sage [2005/10/08(土) 03:04:51 ]
>>366
developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/Concepts/BundleAnatomy.html
のListing 1 A bundle with executable code

369 名前:デフォルトの名無しさん mailto:sage [2005/10/08(土) 05:23:30 ]
なんじゃこれ



370 名前:364 [2005/10/08(土) 09:19:17 ]
>>367
親切な方、どうもありがとうございます。
コンパイル済みのバイナリでやってみます。

371 名前:364 [2005/10/08(土) 11:01:33 ]
コンパイル済みバイナリを c:\mingw\usrに展開し、
set PATH=C:\mingw\bin;C:\mingw\mingw32\bin;C:\mingw\usr\local\bin;C:\mingw\usr\local\lib
としました。

しかしコンパイルを実行しようとすると -liconv がないといわれてしまいます。

C:\mingw\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: cannot find -liconv
collect2: ld returned 1 exit status


liconv とlibiconvは違うものなのでしょうか?
それともインストールの仕方が間違っているのでしょうか。
詳しい方が居ましたらご指摘お願いします。

372 名前:デフォルトの名無しさん mailto:sage [2005/10/08(土) 11:35:44 ]
リンカがちゃんと見つけられるようにしてる?

373 名前:364 [2005/10/08(土) 12:49:52 ]
>>372

リンカのことがよくわからなかったのですが、パスが通っていないのかなと思い、
c:¥mingw¥usr¥localフォルダの中身をみていましたら
階層構造がc:¥mingw とそっくりなことに気づき、
そのまま local フォルダの中身をc:¥mingwに上書きコピーしたところちゃんと認識できるようになりました。
強引な気もします。

374 名前:364 [2005/10/12(水) 22:56:08 ]
mingw版のgcjのバージョン4.0〜をコンパイル済みで配布しているサイトをご存知の方いませんか?

375 名前:364 [2005/10/12(水) 23:00:26 ]
事故レスです。とおもったらここで見つかりました。
www.thisiscool.com/gcc_mingw.htm#gcj40

376 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 05:24:50 ]
javacc.jar 878,719 byte
gcj -s -O2
upx
javacc.exe 878,080 byte

やるーーー

377 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 04:51:26 ]
保守

378 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 02:01:52 ]
ttp://www.cmagazine.jp/contents/200601.html
オープンソース
ネイティブコードを作成するフリーのJava開発環境に注目!!
GCJを使ってみよう
javaの速さに驚いた。

379 名前:デフォルトの名無しさん mailto:sage [2005/12/25(日) 23:53:06 ]
>>378
インスタンシング(笑)



380 名前:デフォルトの名無しさん [2006/01/04(水) 13:36:01 ]
>>378
なんかいまいちわかんなかったよ
dbtoolとか共有ライブラリの扱いかたとか

381 名前:デフォルトの名無しさん [2006/01/04(水) 18:37:12 ]
www.tosu.org/download/numberplace.htmlから
ソースを持ってきて、
gcj --main=suudoku.Main -o suudoku.exe suudoku/*.javaとコンパイルして
実行した時と、jdkでコンパイルして実行した時で挙動が違います。

具体的には、ウインドウ上の4と7が、gcjの時だけ、3と6と表示されます。
jdkでは、書いてある通り出ます。

なんか計算ミスがあるのでしょうか?

$ gcj --version
gcj (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2)

$ java -version
java version "1.5.0_03"

382 名前:デフォルトの名無しさん [2006/01/04(水) 18:47:03 ]
>>381
おまえ、CPUの種類指定したか?

383 名前:デフォルトの名無しさん [2006/01/04(水) 21:23:11 ]
>>382
指定しなければ、今、稼働してるマシン用のものが指定されてることにならないんでしょうか?

ちなみに、クルーソーの700MHz使ってます。

384 名前:デフォルトの名無しさん mailto:sage [2006/01/05(木) 22:35:54 ]
>>383
マシンのBIOSとか最新か?

385 名前:デフォルトの名無しさん [2006/01/12(木) 08:12:28 ]
>>381
自然対数LOGを求めて、2を底とする対数を計算してるが、
jdkでは4になるところが、gcjでは3.99999999996になる。

t=Double(Math.log(x)/Math.log(2))
この式で、x=10000ならば、t=4となるはず。
しかし、t=3.99999999。。。となる。

暫定策としては、tに0.00001を加えてやればよいのだが?

386 名前:デフォルトの名無しさん [2006/01/12(木) 08:54:33 ]
strictfp 使った上に、 StrictMath.log() 使っても改善されない?

あと、4になるのは log(10000) じゃないか?

387 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 09:02:37 ]
2が底だからt=4になるのはx=16だろ。

388 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 09:08:01 ]
実は10000は二進法で表現されてたんだよ。

無理っぽいか。 3.99999999 とか十進法使ってるし。

389 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 12:53:03 ]
>>385
浮動小数点演算の基礎がわかってない



390 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 15:03:42 ]
SunのJava作った奴等もIEEE 754分かってないよなあ
何故数値計算の専門家を入れとかなかったのかと…

391 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 22:23:40 ]
>>390
おまえがわかってない。

言語仕様 4.2.4 Floating-Point Operations
java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.4

java.lang.Math
java.sun.com/j2se/1.5.0/docs/api/java/lang/Math.html

java.lang.StrictMath
java.sun.com/j2se/1.5.0/docs/api/java/lang/StrictMath.html

ここに出てくるulpが何を表すわかるか?

392 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 23:27:14 ]
うんこ

393 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 04:16:48 ]
page.freett.com/gikob/gcj/gcjswt.html
上記ページを参考に、SWT.jar から swt.o を生成しようとした時に、
エラーメッセージが大量に出て苦しんでおります。どなたがご慈悲を……

環境
WindowsXP
SWT3.1.1 / SWT3.0.2 (両方試す)
gcc-java-3.4.5 / gcc-java-3.4.2 (両方試す)
gcc-core-3.4.5
binutils-2.15.91
w32api-3.5
mingw-runtime-3.9
gcc-g++-3.4.2


gcj --jni -c --classpath=swt.jar swt.jar

org/eclipse/swt/dnd/RTFTransfer.java:97: error: verification error at PC=198
org/eclipse/swt/dnd/RTFTransfer.java:97: error: might transfer control into subr
outine
org/eclipse/swt/dnd/TextTransfer.java: In class `org.eclipse.swt.dnd.TextTransfe
r':
org/eclipse/swt/dnd/TextTransfer.java: In method `org.eclipse.swt.dnd.TextTransf
er.nativeToJava(org.eclipse.swt.dnd.TransferData)':
org/eclipse/swt/dnd/TextTransfer.java:119: error: verification error at PC=348
org/eclipse/swt/dnd/TextTransfer.java:119: error: might transfer control into su
broutine

394 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 21:48:47 ]
これか?
gcc.gnu.org/ml/java/2003-10/msg00153.html

395 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 22:34:44 ]
最近、
gcj --main=Hello --classpath=/usr/share/java/libgcj-4.0.2.jar Hello.java
ってクラスパス明示的に指定する必要があるのね。

396 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:05:36 ]
>>394
それです。ありがとうございます。

って、
> Unfortunately, this is a gcj bug.
ですか

ちなみに、どなたかSWT3.1で、SWT.jar → SWT.o の変換を成功された方っていますか?

397 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:20:51 ]
gcj-4.0.2 on Linuxなら全く問題なし。

398 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:21:20 ]
>>396
ソースコンパイルしろって書いてあるように見えるけど。

399 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:39:01 ]
>>393
同じくWindows環境でハマった。
SWT2.1.3ならビルドできたけどそれじゃダメかい?

ttp://archive.eclipse.org/eclipse/downloads/drops/R-2.1.3-200403101828/index.php



400 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 01:20:25 ]
>>393

MinGW で SWT が使いたいって話なら
hoeppie.gmxhome.de/SWT/
じゃダメか?

401 名前:393 mailto:sage [2006/01/17(火) 01:18:19 ]
情報ありがとうございます。助かりました。

とりあえず、SWT2.1.3で動作しました。>>399様、ありがとうございます。
今日はあまり時間が取れなかったので、ソースコンパイルと、>>400様の方法も
明日以降、やってみようと思います。

402 名前:デフォルトの名無しさん [2006/02/12(日) 01:01:59 ]
このスレの人って、GNU原理主義者?ただの物好き?
www.shudo.net/jit/perf/SPECJVM98-P4.png
わざわざ使う理由が見つからない。

403 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 01:14:26 ]
>>402
じゃ使うな。さようなら。

404 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 01:45:41 ]
普通に訊いてるのにそんな意地悪な答えするなよ

405 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 01:56:03 ]
????普通に訊いてる????

406 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 04:43:54 ]
>>404
言語障害わずらってるといろいろ大変だね。
頑張れ。

407 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 05:36:35 ]
>>402はこのスレ住人には触れられてはならない事のようだな。

408 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 19:39:49 ]
はいはい

409 名前:デフォルトの名無しさん [2006/02/19(日) 00:56:42 ]
CygwinでCGJを使ってみたんですが、
ただのHello Worldプログラムが4MBにもなってしまいます。
なんとかなりませんか?



410 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 01:05:26 ]
strip した?


411 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 01:55:39 ]
ただのHello WorldくらいCで書け。

412 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 15:18:48 ]
なんて事を言うんだお前は

413 名前:デフォルトの名無しさん [2006/02/19(日) 16:08:09 ]
ただのHelloWorldくらいならアセンブラの方が早いと思う

414 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 17:31:42 ]
つっこみどころが違う。なぜ Hello World を書くのか考えろ。
いちいち書く気もしないからスルーしてたのに・・・。

415 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 17:45:25 ]
>>414
> なぜ Hello World を書くのか考えろ。

挨拶のためじゃないのか?

416 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 17:46:48 ]
Beagleってディスクトップ検索のツールは、Luceneって検索エンジン使っている。
これは元々Javaで書かれていたけれど、
Beagleの使っているのは、C#にポートしたdotLucene。だからmonoが必要。
これってどうよ? > gcj

417 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 18:04:57 ]
gcjの例外機構ってc++とはなんか違うよね?
どやって実装してんのか知ってる?

418 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 23:10:30 ]
一緒だよ。
セマンティクスがほんの少し違うだけ。特に静的なセマンティクス。

419 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 12:20:06 ]
>>402
gcj以外に
JavaをEXEにできる
タダの変換プログラムが
あれば乗り換えたいです。

性能はあまり問いません
日本語処理がまともならば。



420 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 12:46:57 ]
日本語処理まともじゃん

421 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 12:54:28 ]
「日本語処理がまとも」の定義がないとなんとも。

422 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 23:07:19 ]
cygwin の gcj はダメポだがそれ以外の環境ではまともだと思うけどなぁ…

423 名前:デフォルトの名無しさん mailto:sage [2006/03/12(日) 02:00:20 ]
問題点の指摘がない→まとも
って進行でいいんじゃない?

424 名前:デフォルトの名無しさん mailto:sage [2006/04/15(土) 00:37:36 ]
失礼します、初心者です。
Cygwin入れてSWTやろうとしましたが、
エラーを見るとどうもSWT.jarを読めていないようで…
SWT.jarの置き場所が間違ってるような気がします。どこに置いたらいいんでしょうか?

425 名前:デフォルトの名無しさん mailto:sage [2006/04/15(土) 04:18:07 ]
--classpath=パス名で指定しろよ。

426 名前:デフォルトの名無しさん mailto:sage [2006/04/15(土) 17:37:36 ]
>>425
classpath指定すると
undefined reference to hoge…
というのが大量に出るようになりますた。

427 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 01:39:34 ]
必要なところは全部指定しろよ。

428 名前:424 mailto:sage [2006/04/19(水) 21:22:43 ]
よくわからないので、mingwにして、やろうとしてます。
page.freett.com/gikob/gcj/gcjswt.html
を参考にして、とりあえずswt.oを作ろうとしていますがうまくいきません。

org/eclipse/swt.cnc/RTFTransfer.java:97: error: verification error at PC=198
org/eclipse/swt.cnc/RTFTransfer.java:97: error: might transfer control into subroutine




などなど、大量のエラーが出ています。
なにがおかしいのでしょうか。


429 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 21:34:04 ]
>>428
hoeppie.gmxhome.de/SWT/ うちではここ見てMinGWでビルドした



430 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 22:26:59 ]
えっと、mingwで単なるHelloWorldを表示するプログラムからやり直していますが、
cannot find -liconv
というエラーが出るようになりました

>>429
さらにわからなくなりますた


431 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 23:54:18 ]
>>430
MinGW の gcj でコンパイルしてできたファイルは libiconv に依存する.
gcj 使う前にまず iconv をビルドしてインストールするかコンパイル済みの
バイナリを拾ってきてインストールしれ.その後 HelloWorld.

432 名前:424 mailto:sage [2006/04/20(木) 20:40:54 ]
とりあえず、現状を。

MinGWインストーラー付きをインストール
libiconvをインストーラー付きでインストール

cannot find -liconvのエラーは変わらず

どーしよーもなくなってます・・・。

433 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 17:12:07 ]
gcj の GC 部分って Boehm GC 使ってるのかな?

434 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 17:18:13 ]
うんそうだよ

435 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 01:33:15 ]
運送ですか…

436 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 02:15:32 ]
>>434
ありがとう。

437 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:03:23 ]
だれかお暇なら gcj で例えばどういうコードがコンパイルできないのか教えてください。
将来的にもあらゆる java コードに対応するのは原理的に無理そうってことでいんでしたっけ?

438 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 03:11:48 ]
gcc.gnu.org/java/status.html
www.kaffe.org/~stuart/japi/

将来に渡って原理的にサポート不可能なものはない。

439 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 03:22:15 ]
>>438
JAVAが進化する限りにおいて、gcjは、完全にJAVAに追い付くことはできない。



440 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 11:18:25 ]
原理主義者は大変だな。w

441 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 13:01:03 ]
>>439
プロの方ですか?私も同じ意見です。

442 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 21:54:59 ]
>>439
完全に追いつく必要もないと思うが。


443 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 22:05:05 ]
実際のところ言語仕様やVM仕様には追い付けるだろうけれど,
無駄に増え続けるクラスライブラリに完全に追い付くことはないだろうな…

もし追いつくとしたらJavaを使う人がいなくなってJavaの肥大化が止った時だろう…

# ぶっちゃけいらないパッケージばっかりなんだよな…

444 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 14:54:24 ]
SunはほとんどOpenSourceにするみたいだから、
コンパイルすればいいだけじゃない?

445 名前:デフォルトの名無しさん mailto:sage [2006/06/08(木) 22:52:23 ]
gcc-4.1.1

make create-headers
make[6]: Entering directory `/hoge/gcc-4.1.1/arm-elf/thumb/libjava'
name=`echo classpath/lib/gnu/awt/LightweightRedirector.class | sed -e 's/\.class$//' -e 's,classpath/lib/,,'`; \
/hoge/gcc-4.1.1/mkinstalldirs `dirname $name`; \
arm-elf-gcjh -d . -classpath '' -bootclasspath classpath/lib $name
/bin/sh: arm-elf-gcjh: command not found
make[6]: *** [gnu/awt/LightweightRedirector.h] エラー 127

ええー。

446 名前:デフォルトの名無しさん mailto:sage [2006/06/09(金) 00:01:15 ]
最近はエラーメッセージが読めない奴でもコンパイルするのか

447 名前:デフォルトの名無しさん mailto:sage [2006/06/09(金) 00:25:22 ]
>>446
いや、gcjh のビルドすんでないのに使おうとしてエラー出るんだよ。

448 名前:33 [2006/06/16(金) 14:56:50 ]
gcjでマニフェストファイルを含んだjarファイルをネイティブコードにするには、どのようにしたらいいのでしょうか?

449 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 13:20:47 ]
C:\> unzip そのjar
C:\> cat マニフェスト
C:\> gcj --main=メイン *.java



450 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 18:47:12 ]
>>448
ありがとです。

451 名前:448 [2006/06/19(月) 18:49:08 ]
>>449の間違いでした(汗

452 名前:デフォルトの名無しさん [2006/07/03(月) 08:20:41 ]
gcjって何ですか?

453 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 08:32:37 ]
GNU Compiler for Java の略だっけ?

454 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 09:56:06 ]
当方Windows2000を使用しております。
NetBeansからgcjを使うにはどうすればいいでしょうか?
一応MinGWでコマンドラインからgcjを利用できるようにはしてあります。

455 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 12:58:46 ]
>>454
ほれ
ttp://homepage1.nifty.com/kuprij/antdoc/tasks/javac.html

456 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 14:16:37 ]
>>455
謝謝。助かりました。

457 名前:デフォルトの名無しさん [2006/08/01(火) 18:29:51 BE:176097672-2BP(10)]
すみません、どんなソースコンパイルしてもこんなの出てくるんですけれど。

/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x106): undefined reference to `WinMain@16'
collect2: ld returned 1 exit status

ぐぐってみたりしたんですが、C言語の場合の解決方法しか載ってないんです。
これってどうすればいいんでしょう?
環境はWindowsXP+MinGW gcjです。

458 名前:デフォルトの名無しさん mailto:sage [2006/08/01(火) 19:46:38 ]
>>457
コマンドライン晒せ

459 名前:デフォルトの名無しさん mailto:sage [2006/08/01(火) 20:35:12 ]
とりあえず読め
ttp://fun.sci.fukuoka-u.ac.jp/wiki/index.php?gcj



460 名前:デフォルトの名無しさん mailto:sage [2006/08/02(水) 14:11:15 BE:805018188-2BP(10)]
>>458
>>459
ありがとう。そうか、main指定が必要だったのか・・・

われながらこんな簡単なところでコケるとは情けない・・・・

461 名前:デフォルトの名無しさん [2006/08/04(金) 21:38:16 ]
>>460
そんなあなたに

JavaCompiler
javacompiler.mtsystems.ch/index.html

/* 主な特徴 */
 - gcj や MinGW 、コマンドラインの知識がなくとも GUI で簡単コンパイル
 - gcj のバージョンは最新版 4.2.0 を使用
 - Linux / Win32 両方のバイナリを出力可能
 - ファイルサイズの削減対応
 - Java 5.0 文法対応

Windows 使いなら是非試してほしい。

462 名前:デフォルトの名無しさん [2006/08/14(月) 11:47:12 ]
mingw の最新のgcj 3.4.5でgcj 4.2.0からもってきたlibgcj-4.2.0.jarを
libgcj-3.4.5.jarと差し替えて使用することはできますか?

463 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 22:56:54 ]
>>462
出来ません


464 名前:デフォルトの名無しさん [2006/10/05(木) 22:38:39 ]
>>461
いいねぇ。なかなか使えるよ。UPXでアホみたいに小さくなるし。

GCJでJNIだけど、VisualStudioで作ったDLLは駄目?jvm.dll使わないようにすれば動くかなぁ?
今のところ、jvm.dllを要求されてしまったので、うまくロードできてません。
Direct3DやDirectShowを使ってしまったので、GCCでコンパイルするの面倒かと思って。

465 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 12:30:51 ]
UPXで小さくしたところで、メモリ上に展開される量はかわらんだろ。

466 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 16:14:29 ]
>>444
世代別GCだけでもGPLと矛盾しないライセンスで出してくれー>Sun
#今はBoehm GCがgcjの足ひっぱってる気がしてならない

467 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 23:30:36 ]
>>466
完全にストップ&ゴーするしねぇ…
しかし足を引っ張ってるものは他にもいっぱいありそうだしなぁ…
いっそクラスライブラリも全部 Sun 製のやつに(ry

468 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 17:09:09 ]
javaCompiler-0.8 で自作 swt アプリをコンパイルして実行しようとしています。
無事コンパイルでき実行すると、
class.forName() を使っているためか、NoClassDefFoundError になります。

classを動的にロードするための設定が必要なのでしょうか?
exe実行のディレクトリー配下に classファイル(jp\xxx\Test.class)は置いてあります。
CLASSPATHにも指定してみました。

www.shudo.net/article/Fedora-Core-Expert-200507-GCJ/
 プログラム実行中にClass.forName("クラス名")などとして
 クラスファイルのままのクラスをロード・実行することもできます。
 その場合、ロードされたクラスはインタプリタで実行されます。
とあります。

エラーメッセージは下記です。
Exception in thread "main" java.lang.NoClassDefFoundError: jp.xxx.Test
at java.lang.Class.initializeClass(Main-win.exe)
at java.lang.Class.initializeClass(Main-win.exe)
at java.lang.Class.forName(Main-win.exe)
Caused by: java.lang.ClassNotFoundException: org.xml.sax.SAXException not found
in gnu.gcj.runtime.SystemClassLoader{urls=[file:.\], parent=gnu.gcj.runtime.Exte
nsionClassLoader{urls=[], parent=null}}
at java.lang.Class.initializeClass(Main-win.exe)
...2 more

469 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 20:13:08 ]
org.xml.sax パッケージがリンクされてないみたいです。
リンクするにはどうすればいいのかな?

gcj でコマンドラインでやりはじめています。



470 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 20:15:58 ]
新しい・・・

471 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 17:21:08 ]
>>466
https://openjdk.dev.java.net/

472 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 22:25:23 ]
gcj の開発者な人達は今後どう動くのかねぇ?

473 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:53:56 ]
ネイティブコンパイラに

474 名前:デフォルトの名無しさん [2007/01/07(日) 20:55:29 ]
thisiscoolのgcjで簡単なswtアプリを作ると
バイナリサイズが17MB
実行時にメモリを32MB使用する

こんなもんか?


475 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 22:03:50 ]
-Os -Wl,--strip-all
で縮まんならあきらめるしかないね

476 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 23:50:31 ]
>>475
サンクスコ
縮まらなかった。
常駐するようなアプリは無理だなこりゃ。


477 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 12:31:22 ]
4Gのメモリにとってどれくらいの割合か考えてみよう

478 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 13:04:29 ]
君は実に馬鹿だな

479 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 13:09:35 ]
馬鹿は実に君だな



480 名前:デフォルトの名無しさん [2007/01/11(木) 13:14:21 ]
はいはい

481 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 13:25:18 ]
全部が「常駐」するわけじゃないし、JREインストールしてもそのくらいストレージは食うし、
実用上はあまり問題ない。問題となるのは「常駐するようなアプリ」ではなく、同じような
アプリが複数起動されたときの無駄だと思う。

482 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 14:16:36 ]
上の Java Compiler に入ってる strip.exe で20Mが4Mくらいになるよな。8Mくらいだっけ?

483 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 14:51:14 ]
>>482
--strip-all 付きで生成したバイナリも小さくなるっけ?

484 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 16:40:34 ]
最適化しようとするとリフレクション&クラスローダー関連が癌だよな

動的プログラミングを静的なバイナリに置き換える事自体が問題なんだろうけど。

485 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 18:54:32 ]
でもたいていそんな変わったコードはコンパイル不可だから。
っていうか、ちょっと複雑なライブラリーつかうと不可。

486 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 18:38:02 ]
要するにgcj使うメリットって何もないよね

487 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 01:56:11 ]
>>486
ないと思うならない。

488 名前:デフォルトの名無しさん [2007/01/21(日) 00:09:43 ]
January 8, 2007
Andrew Haley and Tom Tromey of Red Hat merged the gcj-eclipse branch to svn trunk.
GCC now uses the Eclipse compiler as a front end, enabling all 1.5 language features.
This merge also brings in a new, generics-enabled version of Classpath, including some
new tools. All this will appear in GCC 4.3.

489 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:17:30 ]
これMakefile作れないの?



490 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:19:10 ]
cygwinのgcjで作った.exeの巨大さを見て愕然とする。linuxだとそうでもないのに。

思うに、ライブラリをスタティックリンクしているんだろうか?
ダイナミックリンクにする方法は?

491 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 14:10:19 ]
>>490
そ、そうかな?
linux でのバイナリサイズも大きくてびっくりしたよ。

492 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 14:14:50 ]
CygwinかLinuxかという問題ではなく、単にバージョンの問題だったりして。
Linuxも以前は大きかった記憶がある。

493 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 14:20:30 ]
>>490
cygwin mingw だと libgcj のDLLが用意されてなくてかならずスタティックリンクされる。
リフレクションによるDLLからの動的クラスロードとかもできないしwin32環境のgcjはまだまだ。

494 名前:デフォルトの名無しさん mailto:age [2007/04/18(水) 12:11:27 ]
GCJに入ってるJavaのライブラリと、対応するJavaのバージョンってどこで調べられますか?

495 名前:デフォルトの名無しさん mailto:age [2007/04/19(木) 13:11:43 ]
以下のソースをコンパイルすると、例外が出て動かないんですが、原因の分かる方いませんか?

public class test
{
public static void main(String[] arguments) throws Exception
{
String s = "aaa123bbb";
s = s.replaceAll("[a-z]", "hoge");
System.out.println(s);
}
}

496 名前:495 mailto:age [2007/04/19(木) 13:13:57 ]
環境は、mingw gcjの、3.4.2と4.3.0で試しました。
例外は次のように出ました。

Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.initializeClass(/datal/gcc/gcc/libjava/java/lang/Object.java:513)
at gnu.java.util.regex.RE.getLocalizedMessage(/datal/gcc/gcc/libjava/classpath/gnu/java/util/regex/RE.java:262)
at gnu.java.util.regex.RESyntax.<clinit>(/datal/gcc/gcc/libjava/classpath/gnu/java/util/regex/RESyntax.java:345)
at java.lang.Class.initializeClass(/datal/gcc/gcc/libjava/java/lang/Object.java:513)
at java.util.regex.Pattern.<init>(/datal/gcc/gcc/libjava/classpath/java/util/regex/Pattern.java:76)
at java.util.regex.Pattern.compile(/datal/gcc/gcc/libjava/classpath/java/util/regex/Pattern.java:153)
at java.util.regex.Pattern.compile(/datal/gcc/gcc/libjava/classpath/java/util/regex/Pattern.java:135)
at java.lang.String.replaceAll(/datal/gcc/gcc/libjava/java/lang/String.java:998)
at test.main(D:/workspace/Test/src/test.java:0) Caused by: java.util.MissingResourceException: Bundle gnu/java/util/regex/MessagesBundle not found
at java.util.ResourceBundle.getBundle(/datal/gcc/gcc/libjava/java/util/ResourceBundle.java:372)
at java.util.ResourceBundle.getBundle(/datal/gcc/gcc/libjava/java/util/ResourceBundle.java:243)
at gnu.java.util.regex.RE.<clinit>(/datal/gcc/gcc/libjava/classpath/gnu/java/util/regex/RE.java:133)
at java.lang.Class.initializeClass(/datal/gcc/gcc/libjava/java/lang/Object.java:513)
...8 more

497 名前:デフォルトの名無しさん [2007/06/25(月) 20:28:45 ]
>>461
ありがとう!!!

498 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:10:09 ]
>>494
対応するバージョンはよく分からないけど、最新版のGCJでどのクラスが
実装済みなのかは次のページで分かる。

developer.classpath.org/doc/overview-summary.html

ここのページに記載されていないクラスは未実装。

499 名前:デフォルトの名無しさん [2007/09/26(水) 11:56:27 ]
mingw の gcj 使っているのですが,gcjでコンパイルされた静的ライブラリをリンクする時に
静的ライブラリ内の特定のオブジェクトファイルを強制的にリンクする方法ってないでしょうか?
静的ライブラリ内にあるメッセージリソースをコンパイルしたものがライブラリ内のクラスから
ResourceBundle#getResource() で参照されているのですが普通にリンクしても
当然このオブジェクトはアプリケーションにリンクされません.
なにかうまい方法はないでしょうか?



500 名前:デフォルトの名無しさん [2007/10/05(金) 14:04:56 ]
500get!

501 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 16:26:56 ]
>>498
ネイティブ呼び出してるの以外はSunのそのまま使えばいけそうなもんだけど
そういうわけにはいかないのかね

502 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 18:05:27 ]
今後標準クラスライブラリはどうするのかねー?
GNU classpath を継続して使い続けるのかな?

503 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 08:55:35 ]
差し換えられるようにする方向じゃないのかなあ。

504 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:41:18 ]
ま、とにかくGNUの精神なんて末端には関係ないんで6が動くの早く出してくださいよ

505 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 13:42:08 ]
フロントエンドのecj化でコンパイラだけなら動くようになるんじゃね?

506 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 00:07:44 ]
CGJを使ってみようと思って対応状況を見てみたんだけど、
awtやらswingのコードは全てをカバーしておらずまだ実用には向かないと書いてある。

これ、どういうこと?

SunのJDKの中にはawtやらswingやらのclass全てのファイルが入っているのに、
それを使わず、すべて自分たちで一から書き直しているということ??

もしそうなんだとしたら、開発者には悪いけどこんなアホなことは無いなあ。
既存のコードを有効利用しない(できない?)で車輪の再発明を延々と繰り返すって
一体全体どうなの。


なんだか非常に的外れな事を言っている気がどんどんしてきた。
間違っていたら教えてください。

507 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 00:14:41 ]
非常に的外れだが間違っているとは言えないね。w
大人の事情というものがあるのだよ。

508 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 00:56:27 ]
>>506
少なくとも今迄はできなかった
SunのJDKがGPLになった(まだ全部じゃなけど)からこれからは有効利用できるはず
でも実際にSunのJDKを利用するかどうかは作ってるやつらに聞いてくれ

509 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 01:03:22 ]
libgcjってGPL例外条項があるけど、サンのライセンスと適合するん?



510 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 01:42:06 ]
ふむふむ、分かったぞ。
どうやら二つの問題をあわせ持っているみたいだ。

一つは標準APIの問題。
Sunはそれの流用を禁止していたので、新しいJava実装の開発は標準ライブラリが使えない為難しかった。
そこで登場したのがGNU Classpathって団体で、彼らはSunJDKのAPI仕様書を見ながらせっせとフリーな実装を作った。
この頃Sunにはソースコードをオープンにしようとする動きがあり、この問題は解決の方向へ向かっている。

これ、面白いなあw
GNU Classpathにとってこれは喜ばしいことなんだろうけど、今までの苦労が水の泡じゃないかw
んーでもまあSunが公開に踏み出したのには彼らの影響もあるのかな。

んでもう一つの問題がネイティブコードに変換する時の問題。
Javaをプレステの実機とおけば、GCJはPCで動くエミュレータみたいなもので
swingで使われているコードにはまだ再現できない所もあるいうことみたいだ。


なんだか日記みたいになってしまったけど、すっきりしました。
みなさんレスありがとうございました。

511 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 08:24:21 ]
gcj + Sun class libraryってprojectもあるよ。
けどgcjの中の人たちは、classpathがかなり仕上がってきているから、
そっちの方に重きを置いている人が多い。
二年前にSunがソース公開していたら、状況は違ったと思うけれど。
いずれにせよ、ちゃんとした成果がないことを嘆くのはまだ早い。

512 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 06:49:52 ]
gcj試してみたけどちょっとしたプログラムでも動作が怪しい。
同じプログラムをExcelsior JETで変換するとすんなり動いた。
やはり商用には敵わないか・・・
JETの購入真剣に検討してみるかな。

513 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 15:39:22 ]
↑工作員っぽくてかっこいい

514 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 15:43:17 ]
少なくとも Eclipse という gcj でコンパイルでき、
動作もする大きなパッケージがある訳で。

515 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 15:30:29 ]
Excelsior を使いたい状況って何なんだろう・・・
最近じゃ無くなってきてないですかね?
JREの導入も簡単になってきてるし・・・・
それでもいやなときは、gcjというフリーな解があるのであって・・・
仕事でやるときは、JRE入れるのが安全だもんなぁ

516 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:44:28 ]
gcj じゃ Excelsior の代りにはならんだろ…
Java5未対応だし,使えないAPIが山ほどあるし(Win32環境だと特に酷い).
gcj を使うなら最初からある程度 gcj をターゲットにして作っていくか,
使えないAPIを自分で実装しながら作っていくくらい気合入れてやらないと.
gcj用に作ってついでにJREでも動くってのは可だが逆はかなり手間かかると思うぞ…

517 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 13:29:52 ]
ん、いや、仕事で使う時なんだけど
まずはJREを使うという選択肢を検討する。
次に、gcj 、Excelsiorという選択肢があるんだが
昔に比べ、JRE導入で片付く件が多くなってるんじゃないということ。
gcjもExcelsiorも、どっちも仕事で使うにはJRE使用よりも活用度は落ちると思っただけ。

趣味で使うなら、もともと有料のアプリを使う動機に欠けるわけで。
技術的興味からgcjを利用するというのはわかるけど・・・・

518 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 01:16:01 ]
つ チラシの裏

519 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 17:21:29 ]
gcjでSocketを使ったプログラムを変換すると
プログラムがフリーズしてしまうのですが
どなたか解決策をご存知の方いないでしょうか?

プログラム自体は下記のサイトのサーバー側と同じ物です。
ttp://www.hellohiro.com/socket.htm



520 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 17:28:44 ]
↑変換後のプログラムでSocket通信を行うとフリーズしてしまうということです。

521 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 11:34:17 ]
>>519
非常に申し分けないがこのスレにエスパーはいないようなんだ…
OS や gcj のバージョンくらい書いてみたらどうかね?

522 名前:519 mailto:sage [2007/12/21(金) 17:47:51 ]
>>521
申し訳ありません。おっしゃる通りで・・・

OS WindowsXP Professional Version2002 ServicePack2
gcj MinGW/GCC/GCJ 4.3 (gcj-eclipse-merge-branch)

変換はeclipseからAntを使って変換しました。
最終的にはJava5でコンパイルしたプログラムを変換したかったので
gcjの他のバージョンは試していません。

523 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 12:10:15 ]
>>522
昔試した限りでは win32 環境で libgcj の Socket は使っただけで例外はいた。
試したのは MinGW の GCC 3.4.2 だったと思う。現状では win32 環境の libgcj は
完成度が低すぎて使い物にならないってのがそのときの結論だった。
ちょい上にも書 Sun の Java 用に書いたものを gcj にポートするのは厳しいと思えっていてあるでしょ?

# Linux だとわりと動くんだけどねぇ…

524 名前:519 mailto:sage [2007/12/23(日) 22:35:55 ]
あれから何度か試してみましたが、
例外もはいていないようなので原因はまったくわかりませんでした。
やはりまだwindows上では厳しいままのようですね。。

簡易のHttpServerをJavaをインストールしないで動くように出来ないかと言われて
gcjに辿りついたのですが、諦めて素直にJavaをインストールしてもらいます。

しかし、こういう技術があるのをまったく知らなかったので
今回は良い勉強になりました。ありがとうございました。


525 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 23:31:52 ]
>>524
デバッガで止めたらどこで止まってるの?
後スタックトレースとかもあるとうれしいが。

526 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 00:39:23 ]
簡易HTTPサーバくらいなら動かせそうな気もするけどねぇ…

527 名前:デフォルトの名無しさん [2008/03/12(水) 18:12:54 ]
GCC 4.3.0 から Java 1.5 の言語仕様を満たすようになってるらすいな。

528 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:26:36 ]
フロントエンドのリプレース終わったのか?

529 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:36:57 ]
あけましておめでとうございます








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<142KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef