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/
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 ] でもたいていそんな変わったコードはコンパイル不可だから。 っていうか、ちょっと複雑なライブラリーつかうと不可。