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 ] あけましておめでとうございます