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/
76 名前:デフォルトの名無しさん [03/08/18 23:00] MinGW用の libgcj のダイナミックライブラリ(dll)が出ました。 MinGW GCJ の欠点として、ライブラリがスタティックリンクされるため、 生成される実行ファイルが非常に巨大になるという問題がありましたけど、 ダイナミックライブラリが出てきたことで、この問題が解消します。 www.thisiscool.net/gcc34-20030802-dll.zip
77 名前:デフォルトの名無しさん mailto:sage [03/08/18 23:26] >>76 ありがたいっす。 ところで、Windows 用(っつか case sensitive でないプラットフォームの) GCJ は (case sensitive なプラットフォームで)クロスコンパイルしないとビルドできないのは変わって無いっすか?
78 名前:デフォルトの名無しさん mailto:sage [03/08/20 19:08] おそらくね。メーリングリスト見てても Windows用GCJをコンパイルしている人は みんな Linux でクロスコンパイルしてるね。 Cygwin でコンパイルに成功した例は聞いたことないです。
79 名前:デフォルトの名無しさん [03/09/23 12:46] GCJってメモリーリークが激しい気がするんだけど。
80 名前:デフォルトの名無しさん mailto:sage [03/09/24 05:13] mingwのサイトにgcj3.3があるね
81 名前:デフォルトの名無しさん [03/10/11 19:47] >>41 に書いてる通りにやったんですが、 SWTを使わないものですらネイティブコンパイルができません。 クラスファイルへのコンパイルなら成功してます。 cc1 に対して No Such File or directory エラーが出てたので、 C:\MinGW\lib\gcc-lib\mingw32\3.2.3 にパスを通したんですが、今度は crtbegin.o を開けないと言われました。 上記のディレクトリにファイルは存在するんですが・・・ 何が問題なんでしょうか? 環境はこんな感じです。 OS:WinXP MinGW:MinGW-3.1.0-1.exe GCJ:gcc-java-3.3.1-20030804-1.tar.gz
82 名前:81 mailto:sage [03/10/12 12:15] 自己解決しました。 MinGWとgcjで微妙にバージョンが違うのが原因だったみたいです・・・
83 名前:デフォルトの名無しさん mailto:sage [03/10/20 16:03] www.shudo.net/diary/2003oct.html#20031015 にも書いてあるけど GCJ の ML で value type (参照型じゃない型) 導入しない?って話が出てます。
84 名前:デフォルトの名無しさん [03/10/21 20:21] gcjでsunのjavax.soundのソースと一緒にコンパイルしたのですが 実行時に javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream とでてしまいました。 同じソースでjavaでは正常にwaveが再生できたのですが。 InputStreamの実装が違うのでダメなのでしょうか。 ちなみにwaveファイルが無くても同じ例外が出てしまいます。
85 名前:デフォルトの名無しさん mailto:sage [03/10/22 04:31] >>84 javax.sound が使用する DLL とかは調べた?
86 名前:84 mailto:sage [03/10/22 12:43] >>85 レスありがとうございます。 jsound.dllだと思います。 コンパイル時にオプション-Lで指定しました。 コンパイル時も実行時もエラーが出ないので dllまわりはOKだと思うのですが。。
87 名前:デフォルトの名無しさん mailto:sage [03/10/22 17:23] >>84 んじゃ、com.sun.media.sound パッケージが無いとか。
88 名前:84 mailto:sage [03/10/22 23:18] >>87 それが原因のようです。 使っているファイルを発見しました。 どうもありがとうございます。 途中経過を報告しますと rt.jarを使ってコンパイルしようとすると コンパイラの内部エラーがでます。 もうすこし考えてみます。
89 名前:84 mailto:sage [03/10/23 10:56] .oファイルを作ろうとjarをコンパイル中に たくさん com/sun/media/sound/SunMidiFileWriter.java:124: warning: exception handler insid e code that is being protected のようなwarningが出て止まります。 これは何が悪いのでしょう?
90 名前:デフォルトの名無しさん mailto:sage [03/10/23 16:55] >>89 "warning: exception handler inside code that is being protected" でぐぐったら gcc.gnu.org/ml/gcc-patches/2002-08/msg01637.html が見つかった。 適当な日本語訳 > 全てのJavaバイトコードがJavaコンパイラで生成されている > わけではなく、それらの幾つかは非常に奇妙なものかもしれない。 > 私は Java Server Pages 用の特別なコンパイラで、例外ハンドラが > 再帰的に自分自身を呼び出すというインチキにしか見えないコードを > 生成するのを見たことがある。これは正常に動作しないだろうが > (それとも正常に動くのか?)、Javaバイトコード仕様に完全に従っている。 > よって、このようなバイトコードを許すが、警告を出す事にする。
91 名前:デフォルトの名無しさん mailto:sage [03/10/23 17:06] www.scheinwelt.at/~norbertf/radiocap_homepage/ で似たようなもの(?)を作ってる人がいるらしいので参考にしてみては? その人の gcj のメーリングリストへの投稿 gcc.gnu.org/ml/java/2003-10/msg00264.html
92 名前:84 mailto:sage [03/10/23 18:43] >>90 >>91 親切にレスしてくださって、 ありがとうございます。 早速、参考にして調べてます。
93 名前:デフォルトの名無しさん [03/10/24 01:28] >>81 自分も同じ問題がおきたんですが同じバージョンのMinGWとGCJがあるんでしょうか? 探してみたんですけど見つけられなかったんですが・・・
94 名前:81 mailto:sage [03/10/25 01:48] >>93 バージョンが書いてないのでなんとも言えないけど、GCJ3.3.1なら 下のサイトにあるMinGW base kit, bitWalk build #037をいれたらいけたよ。 b2c-1.rocketbeach.com/~bitwalk/index.html
95 名前:93 mailto:sage [03/10/25 03:57] >>94 レスありがとうございます。 紹介していただいたサイトのminGWをインストールし、 38さんの解説ページ通りにSWTを使ったプログラムをコンパイルできました。
96 名前:デフォルトの名無しさん mailto:sage [03/11/22 16:31] 保守
97 名前:デフォルトの名無しさん [03/11/25 01:03] page.freett.com/gikob/gcj/japanese.txt >>67 を参考にコンソールに日本語を表示することに成功したのでメモを残しておきます ほとんど>>67 の書いていることをそのままな流用したため勝手に載せていいのか判断に迷ったので このスレ以外にはリンクを張っていません・・・ HTML化は時間があればやります
98 名前:97 mailto:sage [03/11/25 01:24] 念のためもう一度試してみたらどうも-Dオプションが一つしか認識しないっぽくて うまくいかなかったので直しました_| ̄|○
99 名前:97 mailto:sage [03/11/25 07:47] >>98 は勘違いみたいなのでなかったことにしてください_| ̄|○
100 名前:97 mailto:sage [03/11/26 02:00] big.freett.com/gikob/jpsample.zip gcjで日本語を扱うサンプルをいくつか作ってみました(2.7Mほど)
101 名前:デフォルトの名無しさん [03/11/26 11:34] おつ!
102 名前:67 mailto:sage [03/11/26 20:33] こういう、やる気のある人がいるっていうのは良いことだね。 NativeTest の Readme.txt の説明で Input_SJIS.o と Output_SJIS.o を リンクしているけど、これを不要にするために jni にチャレンジしたんじゃないの? 結局、その試みは失敗しているようだけど…。せっかく jni にしているのに、 C側で CallObjectMethod() を使用して Java側の getBytes() を使っちゃったら 意味ないよね。コード変換を Java側でやることになるから jni の意味がない。 Input_SJIS.o, Output_SJIS.o の問題を回避するために jni を使うのであれば、 jniメソッドで受け取った jstring を GetStringChars で jchar* に変換してから Win32API の WideCharToMultiByte() に渡してあげるといいよ。 これで、UTF-8 から SJIS に変換できるはず。
103 名前:97 = 41 = 38 mailto:sage [03/11/26 21:52] >>102 すみません、説明不足でした NativeTestは、Javaから渡した日本語の文字列をネイティブ側からString#getBytes()を使ってSJISの文字配列に変換し、 printfで表示できるかどうかを試したサンプルです これができると移植性を保ちつつJavaとCの間で文字列をやりとりしやすくなるので試してみました 漏れの環境ではうまくいったのですが うーん、JNIは難しい・・・
104 名前:97 = 41 = 38 mailto:sage [03/11/26 22:41] >>97 の内容をHTMLにしてアップしました freett.com/gikob/gcj/japanese.html >>67 さん >>97 にも書いたとおり肝心の方法がほぼそのまま>>67 を流用したものなんで 勝手に載せていいのか判断に迷っていて今のところこのスレにしかリンクを張っていないんですが、このまま目次(freett.com/gikob/gcj/ )からリンク張ってもよろしいでしょうか?
105 名前:67 mailto:sage [03/11/26 23:01] >>103 NativeTest はちゃんと動いたよ。ただ、Console/Test.java と 何が違うのか分からない。ただ、JNI でオーバーヘッドを 増やしているだけだと思うんだけど。移植性を保つというのも…。 良かったら、もうちょっと説明してくれませぬか。 それと、なんか気を使われているようだけど、>>97 が自分で まとめた成果なのだから、自由に Web で公開してかまわないんじゃないか。 GCJ関係のリンクに gcc.gnu.org/ml/java/ があると良いかも。 gcj3.4 のおっかけをするなら必須だと思われ。
106 名前:67 mailto:sage [03/11/26 23:14] 「CNIではネイティブメソッドごと実行ファイルにリンクすることができます」 って書いてあるけど、GCJ なら JNI 使っても同じことができるよ。 NativeTest で gcc -shared -o NativeTest.dll NativeTest.c とやっているのを gcc -C -o NativeTest.o NativeTest.c として Input_SJIS.o なんかと同様に一緒にリンクするだけ。
107 名前:97 = 41 = 38 mailto:sage [03/11/27 01:07] >>105 変換した文字配列はprintfに限らずchar*を引数にもつ関数にそのまま渡せるんで本質的にはConsoleとは違います byte[]を引数にしてgetBytes()したbyte配列を渡してもいいのですが (今考えるとそのほうがオーバーヘッド少なく済みそうな気もします・・・) gcjでもJavaのメソッドを呼べるのか試してみたかった気持ちがあったのと >>97 ,>>104 の方法がJNI経由でも有効なのかどうかを確かめるものなので ああいうサンプルになりました 説明が下手くそですいません_| ̄|○ > それと、なんか気を使われているようだけど、>>97 が自分で > まとめた成果なのだから、自由に Web で公開してかまわないんじゃないか。 ありがとうございます 今回はさすがに>>67 を書いてあることほぼそのままなんで躊躇ったんですが 目次からリンクを張ることにします >GCJ関係のリンクに gcc.gnu.org/ml/java/ があると良いかも。 確かにそうですね、このスレやgoogleの検索を参考にしていろいろ試していたので 気づきませんでした。早速リンクしておきます >>106 CNIについて書いていた頃に試してうまくいかなかった記憶はあるのですが いつのまにか出来るようになっていたんですね また時間があれば試してみます
108 名前:97 = 41 = 38 mailto:sage [03/11/29 03:37] freett.com/gikob/gcj/jni.html JNIについてメモを書いてみました 中身はCNIのメモとあまり変わっていないけど・・・_| ̄|○
109 名前:デフォルトの名無しさん [03/12/21 01:42] Redhutの後継のFedora ProjectのFedora Core 2のロードマップで ....more Java software using gcj (Ant, Tomcat, Jakarta, Eclipse, ..... ってあるけど、 fedora.redhat.com/participate/schedule/ 最近のgcjどうなの?ネイティブ化するとそれなりに高速化されるのだろうか・・・
110 名前:デフォルトの名無しさん mailto:sage [03/12/21 02:51] 「D」が出ちゃったから立場が微妙だな... Javaに似た文法だがあっちはC言語のライブラリ使えるし テンプレートもあるし。
111 名前:デフォルトの名無しさん mailto:sage [03/12/21 04:15] > Javaに似た文法だが …
112 名前:106 mailto:sage [03/12/21 12:24] ひさしぶりに来てみた。 >>108 freett.com/gikob/gcj/jni.html の 「ただし、SWTを使っているときはうまくネイティブメソッドを実行ファイルにリンクできないようです」 という表記を消しとけよ。まったく…。
113 名前:デフォルトの名無しさん [03/12/21 17:30] gcの実装ってどうなってんの?やっぱ別スレッドが立ってるわけ? つーか、何処までネイティブなのかいまいち分からんがな。 JavaVM無いと動かないんでしょ?これ
114 名前:デフォルトの名無しさん mailto:sage [03/12/21 17:35] > gcの実装ってどうなってんの? ソース公開されてんだし、自分で調べれば? > JavaVM無いと動かないんでしょ?これ exe 単体で動くけど。
115 名前:デフォルトの名無しさん [03/12/21 18:03] >>114 んなこと言わずに教えてくれよ。 >exe 単体で動くけど。 そうなんだ。
116 名前:115 [03/12/21 18:04] >JavaVM無いと動かないんでしょ?これ つーか>>29 見ればわかるか スマソ
117 名前:デフォルトの名無しさん [03/12/21 18:05] ソースを見るより、gcjの吐いた機械語を見たほうが早いと思われ。 多分、起動時に、libgcjに実装されてるgcスレが立つんじゃないの?
118 名前:デフォルトの名無しさん mailto:sage [03/12/21 19:31] gcjってboehm-gc使ってるって聞いたけど違うの?
119 名前:デフォルトの名無しさん [03/12/24 01:42] 誰も使ってないの?
120 名前:デフォルトの名無しさん mailto:sage [03/12/24 01:57] ネイティブコンパイルに魅力を感じないので使ってない。 必要に迫られたら使うあるのみ
121 名前:デフォルトの名無しさん mailto:sage [03/12/24 03:18] >>120 実行環境が何メガもあってバージョン間の相性もあるとなれば 配布にも支障をきたすし、 ベンチマーク取られるようなソフトにはアウト。 これはかなりの障害だよ。 いまどきLinux−MacOSX−Windowsのクロスプラットホーム環境で ソース互換の開発環境だってあるんだし、SunのJavaが 実行形式吐かないのはゆゆしき問題だよ。
122 名前:デフォルトの名無しさん mailto:sage [03/12/24 14:19] >>121 実行形式ならC++とか使えばいいと思うのだが。
123 名前:デフォルトの名無しさん mailto:sage [03/12/25 00:52] >>121 要は各プラットフォームで共通に使えるGUIライブラリとかがほしいってことじゃないの?
124 名前:デフォルトの名無しさん mailto:sage [03/12/25 01:41] >>122 それだともはやPCではJavaに出る幕はない。 アプレットの動く環境からユーザーは離れつつある。 全部C++でイケルんだよ。
125 名前:デフォルトの名無しさん mailto:sage [03/12/25 22:44] > アプレットの動く環境からユーザーは離れつつある。 アプレットも細々と使われてるけどね。 アプレットの一時的な流行(?)が終わったのは何年も前の話しだし。
126 名前:デフォルトの名無しさん [03/12/25 23:03] Javaはサーバ向けだろもはや。 TigerからはclientVM無くなるって話だし。
127 名前:デフォルトの名無しさん [03/12/25 23:03] GUIが(体感的に)遅いのがマズかったよなー。
128 名前:デフォルトの名無しさん mailto:sage [03/12/25 23:11] あれだけ抽象度が高いGUIをVMでやろうという心意気はいいけど、 盛り込みすぎだよなぁ…。
129 名前:デフォルトの名無しさん mailto:sage [03/12/25 23:11] >>126 1.5.0-beta-b31 の段階では client と server フォルダ両方あるけど。
130 名前:デフォルトの名無しさん mailto:sage [03/12/25 23:13] >>122-129 ここは GCJ スレなのでそーゆー話題は死滅スレにでも逝ってやってください
131 名前:デフォルトの名無しさん mailto:sage [03/12/25 23:22] >>137 サーバーならg++でいいじゃん。 gnu cgiccはマルチパート対応でアップローダも書けるし、 固定長バッファも使用しないから バッファオーバーフローも起きない。 なによりboostを始めとして開発環境が超強力。
132 名前:デフォルトの名無しさん mailto:sage [03/12/25 23:30] 137に期待がかかりました
133 名前:デフォルトの名無しさん [03/12/25 23:34] >>129 あれ?あった? 無いのはIA64版だったかなぁ。失礼。
134 名前:デフォルトの名無しさん mailto:sage [03/12/26 01:24] ネイティブなクロスプラットフォームGUIを作成する(再考) www-6.ibm.com/jp/developerworks/java/030711/j_j-nativegui2.html (English >>18 )
135 名前:デフォルトの名無しさん [04/01/06 15:08] >>137 期待age
136 名前:デフォルトの名無しさん mailto:sage [04/01/06 20:37] だれが>>137 や!
137 名前: ◆AEqcy/sQU6 mailto:sage [04/01/06 20:49] あたい
138 名前:デフォルトの名無しさん mailto:sage [04/01/06 20:58] 世界は核の炎に包まれた
139 名前:デフォルトの名無しさん mailto:sage [04/01/07 01:29] cygwinでも簡単にgcj使えるね。 ttp://freett.com/gikob/gcj/gcjswt.html の説明のgcjの呼び出しの際に-mno-cygwin付けるだけだった。 ↓のような感じ。 gcj --jni -mno-cygwin -c --classpath=swt.jar swt.jar
140 名前:デフォルトの名無しさん mailto:sage [04/01/07 20:44] だれかJFaceでWin32ネイティブコンパイル成功しましたか? いろいろ試したんですが、ApplicationWindowを使うと即死・・・ Actionのサブクラスなら大丈夫でした。ちなみにWin2K、WinXPです。 あと、これは別なんですがアイコンファイルとかを実行ファイルに 埋め込むことは可能なんですかね?
141 名前:デフォルトの名無しさん mailto:sage [04/01/07 21:38] 試してないけどアイコンを定義したrcファイルをwindresでコンパイルしたresをリンクすれば可能だと思う
142 名前:デフォルトの名無しさん [04/01/17 12:35] pooh@linux:/hdc3/data4/java/program> gcj --version gcj (GCC) 3.3.1 (SuSE Linux) pooh@linux:/hdc3/data4/java/program> gcj -O3 -static --main=Hello -o Hello.exe Hello.java /usr/lib/gcc-lib/i586-suse-linux/3.3.1/../../../libgcj.a(natRuntime.o)(.text+0xced): In function `java::lang::Runtime::insertSystemProperties(java::util::Properties*)': : Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc-lib/i586-suse-linux/3.3.1/../../../libgcj.a(natInetAddress.o)(.text+0x34f): In function `java::net::InetAddress::lookup(java::lang::String*, java::net::InetAddress*, bool)': : Using 'gethostbyaddr_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc-lib/i586-suse-linux/3.3.1/../../../libgcj.a(natInetAddress.o)(.text+0x244): In function `java::net::InetAddress::lookup(java::lang::String*, java::net::InetAddress*, bool)': : Using 'gethostbyname_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking pooh@linux:/hdc3/data4/java/program> ./Hello.exe セグメンテーション違反です libgcjをスタティックリンクしようとするとエラーになります。 なんで? ダイナミックリンクだと問題ないんですが? OSは、Linux2.4.21-166(SuSE)です。
143 名前:デフォルトの名無しさん mailto:sage [04/01/18 03:57] エラーメッセージ見る限りでは今Linuxにあるglibcとlibgcjをビルドしたときに使ったglibcのバージョンが違うってことじゃない?
144 名前:142 [04/01/20 08:06] >>143 今、SuSE9.0のデフォルト使ってるんです ひょっとして、libgcjをりビルドするって こと?ですか
145 名前:デフォルトの名無しさん [04/01/20 13:49] gcjでバイトコードを生成することもできるの? それとも、普通にSunのjavac使わないとだめ?
146 名前:デフォルトの名無しさん mailto:sage [04/01/20 13:53] >>145 gcj -Cでバイトコード作ってくれる
147 名前:デフォルトの名無しさん mailto:sage [04/01/20 14:08] >>146 となるとgcjで普通にアプレット作ったりとかも 出来るわけですね。
148 名前:デフォルトの名無しさん mailto:sage [04/01/20 14:29] >>147 うーん、試したことないけどできるんじゃないかな? 実行はブラウザかSunJSRのアプレットビューアーじゃないとダメだろうけど
149 名前:デフォルトの名無しさん [04/01/29 15:27] gcjでJCEを使ったコードをコンパイルしたいのですが何か方法はないでしょうか。 単純にjce.jarをコンパイル使用としてもだめでした。。。
150 名前:デフォルトの名無しさん mailto:sage [04/01/30 01:09] どこで撥ねられてるんだ
151 名前:デフォルトの名無しさん mailto:age [04/02/28 00:54] age
152 名前:デフォルトの名無しさん mailto:sage [04/03/09 15:57] フルスクリーンアプリ作れますか?
153 名前:デフォルトの名無しさん mailto:sage [04/03/12 18:21] SDLとかOpenGLのラッパ使えば出来るかもね
154 名前:デフォルトの名無しさん mailto:sage [04/03/13 12:31] >>152 java.awt.GraphicsDevice#isFullScreenSupported() がtrueなら java.awt.GraphicsDevice#setFullScreenWindow(Window w) でフルスクリーン。 >>153 変なこと書かないように。
155 名前:デフォルトの名無しさん mailto:sage [04/03/13 13:11] >>154
156 名前:デフォルトの名無しさん mailto:sage [04/03/13 13:15] >>153 gcj って awt をあんまりサポートしてないのにできるんだ?
157 名前:デフォルトの名無しさん mailto:sage [04/03/13 13:29] JSDL以外で公開されてるJavaのSDLラッパーってある?
158 名前:デフォルトの名無しさん mailto:sage [04/03/13 14:23] >>157 cni使って自分でラップしたら。jni使ったことあるならcniには感動するぞ。
159 名前:デフォルトの名無しさん [04/03/21 13:53] 質問します。 >>50-51 さんが書かれていた現象と同じ状況に陥っています。 page.freett.com/gikob/gcj/gcjswt.html のやり方に従い、 cygwinを用いてgcjで実行ファイルを作成するところまではできましたが、 実行時に、PATHを通している所にswtのdllを置いても、 Exception in thread "main" java.lang.UnsatisfiedLinkError: swt-win32-2136: file not found <<No stacktrace available>> と出てしまい、実行できません。 cygwinでswtの使用がうまく行った方、教えてください。 素直にMingW版gcj/swt www.thisiscool.com/gcc_mingw.htm を用いたほうがいいのでしょうか。 なにか勘違いしてたらご指摘お願いします。
160 名前:デフォルトの名無しさん mailto:sage [04/03/21 19:31] >>159 自己レスです。 www.thisiscool.net/gcc34-20040320.tar.bz2 あの後上記サイトにあるmingWのgcc/gcj詰め合わせ↑をDL&解凍し、 そちらにPATHを通し再度プログラム生成を行いました。 page.freett.com/gikob/gcj/gcjswt.html こちらの手順の5. によりswt.oの再生成をおこない、 6.を実行するとできました。ただ、cygwinのシェル上から実行しても ディレクトリ指定がうまくできず、同じディレクトリにswt.jar,swt.oを置いて行いました。 続けて、 ネイティブなクロスプラットフォームGUIアプリケーションを作成する (再考) www-6.ibm.com/jp/developerworks/java/030711/j_j-nativegui2.html の手順に沿って、j-nativegui2.zip内のサンプルをAntを利用してビルドを行ってみました。 こちらもうまく行きました。
161 名前:159 mailto:sage [04/03/21 19:32] また、SWTサンプル集 amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/swt?page=FrontPage 内のプログラムをコンパイルしてみましたが、 gcj LabelSample1.java --main=LabelSample1 -I. -Iswt.jar swt.o -o LabelSample1 こちらも実行できました。しかし文字化けしてしまいました。 そこで再度スレの内容を確認し、>>67 さん、>>97 さんの書き込みに気づき、 freett.com/gikob/gcj/japanese.html のページを参照し、 i686-pc-mingw32/lib/libgcj.aからInput_SJIS.oとOutput_SJIS.oを取り出し、 javac LabelSample1.java -classpath swt.jar gcj -Dfile.encoding=SJIS -Iswt.jar -mwindows --main=LabelSample1 -o LabelSam ple1 LabelSample1.class swt.o Input_SJIS.o Output_SJIS.o とすることでSWT上で日本語表示ができました。 できればインストール済みのcygwin gcc/gcj3.3.1をそのまま使いたかったのですが、↑のgcc(3.4?)がgcj/swt専用に作られたものみたいなので そちらを使います。(gcj実行中にいくつかプロンプト画面が立ち上がるのが気になりますが・・) ありがとうございました。
162 名前:デフォルトの名無しさん mailto:age [04/03/29 21:36] gnome-gcjってどうやって使うの? なんかいまいちわからん
163 名前:デフォルトの名無しさん mailto:sage [04/05/13 19:31] gcj でコンパイル時に -Duser.language=ja -Duser.region=JP とか指定すると locale を切り変えられるんだけどこれって他の 方法はないのでしょうか?? できたら実行時に実行環境のlocaleを見てほしいんですが… thisiscool の gcj を使ってます。
164 名前:login:Penguin mailto:age [04/05/15 00:00] >>163 変だね。 とりあえず、ホームディレクトリの.i18nファイルに LC_ALL=ja_JP って書いておけば、次回起動時から反映されるかも
165 名前:デフォルトの名無しさん mailto:sage [04/06/02 01:11] lwjglを試してみたがどうやらgcj側のバグで動かないらしい・・・orz
166 名前:デフォルトの名無しさん mailto:age [04/06/02 07:53] antでコンパイルした場合とコマンドラインから直接コンパイルした場合で結果が違うのはなんでなの? antだとエラーで終わって、gcj直だと無事終了する。 antもgcjも "hallo world" ではうまくいったので大きく間違っている部分はないはず。 ant build.xml: <property name="mainclass" value="nippon.tokyo.dreamtheater.smaf.SMAFMake"/> <property name="basedir" value="."/> <property name="srcdir" value="nippon/tokyo/dreamtheater/smaf"/> <property name="dstfile" value="../bin/execute.exe"/> <apply executable="gcj" dir="${basedir}"> <arg line="-o ${dstfile}"/> <arg value="--main=${mainclass}"/> <fileset dir="${srcdir}" includes="*.java"/> </apply> gcj: gcj -v -o ../bin/execute.exe --main=nippon.tokyo.dreamtheater.smaf.SMAFMake nippon/tokyo/dreamtheater/smaf/*
167 名前:デフォルトの名無しさん [04/06/03 20:11] 日本の尖閣諸島付近には、 イラクに匹敵する世界第2位の量の石油が眠っている。 そしてその資産はなんと、640兆円にもなる (日本の年間国家予算は約80兆円なので8年分に相当) ミ ∧_∧ ⊂ヾ(・∀・ ) ヘェーヘェーヘェーヘェーヘェ ∩ ゝヽ ⊂_ノヽ だが、その資源が日本政府のせいで全て水の泡になりそうだ えぇ━━(゚Д゚;)━━━!!!!! 詳しくわ↓ mobius1.nobody.jp/ blog.livedoor.jp/team_lifeline/
168 名前:デフォルトの名無しさん mailto:sage [04/06/04 00:01] >>166 エラーで終ったんならエラーメッセージくらい書いてくれないと… エラーメッセージもなしに誰が答えられるってのよ…? とりあえず <apply executable="gcj" dir="${basedir}"> を <apply executable="echo" dir="${basedir}"> とかに書き換えて期待した通りの引数が渡っているかどうか を確認するとかはどうよ?
169 名前:166 mailto:age [04/06/04 07:50] >>168 そういえば、忘れてました。エラーメッセージ。 ↓こんなのがソースファイルの数だけでてます。 [apply] /home/user/tmp/ccFGtfvO.o(.text+0x24): In function `main': [apply] : undefined reference to `nippon::tokyo::dreamtheater::smaf::SMAFMake::class$' [apply] collect2: ld returned 1 exit status [apply] Result: 1
170 名前:デフォルトの名無しさん mailto:sage [04/06/04 12:46] >>166 main が参照している nippon.tokyo.dreamtheater.smaf.SMAFMake クラスが見つからないってことね… なんとなく分った… fileset でファイル全部を指定しているつもりなんだろうけど,その指定 の仕方だと fileset でマッチした各ファイルについて gcj を実行する ことになるんじゃなかったかな? だから複数の *.java があるとクラスが見付からなくてエラーになる
171 名前:デフォルトの名無しさん mailto:sage [04/06/04 13:01] >>166 こんな感じでどうでしょう…? parallel="true" がポイントね。 <apply executable="gcj" dir="${basedir}" parallel="true" > <arg line="-o ${dstfile}"/> <arg value="--main=${mainclass}"/> <srcfile/> <fileset dir="${srcdir}" includes="**/*.java"/> </apply>
172 名前:166 mailto:age [04/06/04 23:23] >>170-171 ありがとう。 <apply>にparallel="true"を追加することで 正常にコンパイルできました。
173 名前:162 mailto:sage [04/06/15 08:36] コンパイルできません。 こんなんでる。↓ cnisupport.cc:33:21: gcj/cni.h: No such file or directory cnisupport.cc:34:31: java/lang/Integer.h: No such file or directory cnisupport.cc:35:30: java/lang/String.h: No such file or directory cnisupport.cc:36:33: java/util/Hashtable.h: No such file or directory In file included from cnisupport.cc:37: cnisupport.h:36:21: gcj/cni.h: No such file or directory cnisupport.h:37:30: java/lang/String.h: No such file or directory In file included from cnisupport.cc:37:
174 名前:126 mailto:age [04/06/19 21:37] みんなGCJでGUIは何のツールキット使ってるのよ?
175 名前:デフォルトの名無しさん mailto:sage [04/06/19 22:25] HelloWorldで日本語出なくて諦めますた。へっぽこでごめんね。
176 名前:176 mailto:age [04/06/19 22:47] >>175 本当に出ないのかって今試したら 普通にでたんだけど?
177 名前:デフォルトの名無しさん mailto:sage [04/06/20 00:12] >>174-175 せっかくなんで宣伝しときますw page.freett.com/gikob/gcj/index.html
178 名前:デフォルトの名無しさん mailto:sage [04/06/20 00:14] 仕切りみたいになってるけど一応 gcjはWindowsのものでもthisiscoolのgcjとmingw公式のgcjとcygwinのgcjがあるんで どれか明記したほうがいいよ
179 名前:176 mailto:age [04/06/20 00:44] >>178 世の中の10%はWindowsを使っていないってこともあるし、 俺もその10%に入るので、せっかくの情報もあまり関係ないことに。 う〜ん。やっぱりSWTで作るべきかなぁ〜? www.google.co.jp/search?q=gcj+toolkit&ie=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr= これだけあるけど、Swingの代わりってどれがいいんだろう?
180 名前:デフォルトの名無しさん mailto:sage [04/06/20 01:04] >>179 LinuxならGNU classpathがあるけどあれってまだAWTだけだったかもしれん・・・
181 名前:デフォルトの名無しさん mailto:sage [04/06/21 00:26] >>179 > 世の中の10%はWindowsを使っていないってこともあるし、 > 俺もその10%に入るので そうだったらなおさら明記すべきだと思うが・・・
182 名前:デフォルトの名無しさん [04/06/29 22:16] umm- gui toolkitがどれもこれもうまくインストールできない。 しょうがないので自作しようと思うが、 swingでいうところの、 JWindow,JFrame,JButton,JLabel,JCheckBox,JRadioButton,JTextArea,JTextFieldと レイアウトマネージャさえあればいいのかしら?
183 名前:デフォルトの名無しさん mailto:sage [04/06/29 22:47] >>182 Tk の項とか。 ttp://www.interq.or.jp/japan/s-imai/tcltk/basis.html
184 名前:デフォルトの名無しさん mailto:sage [04/07/05 06:46] gcjでjavaのメソッドをjni経由で利用できるのかな?
185 名前:デフォルトの名無しさん mailto:sage [04/07/18 14:46] >>184 両方向とも問題なくできるよ。
186 名前:デフォルトの名無しさん [04/07/20 07:10] >>185 そうすると、jni経由でSwingも使えるかな? やってみるか
187 名前:デフォルトの名無しさん mailto:sage [04/07/20 14:01] 出来るけどさほど大した意味はないな
188 名前:デフォルトの名無しさん mailto:sage [04/07/20 14:45] >>186 そもそも gcj でまともに動く Swing があるのか,と…
189 名前:デフォルトの名無しさん mailto:sage [04/07/21 21:37] ほー、c/c++ などのツールキットとして Swing を使うのか。 おもしろいけど、使い物にならないんだろうな。
190 名前:デフォルトの名無しさん mailto:sage [04/08/08 23:58] わからないので聞きます。 Linux上のgcjで、SWTを使おうとしているのだけど 1 2 3 import org.eclipse.swt.SWT; 4 import org.eclipse.swt.graphics.Image; 5 import org.eclipse.swt.layout.RowLayout; 6 import org.eclipse.swt.widgets.Display; 7 import org.eclipse.swt.widgets.Label; 8 import org.eclipse.swt.widgets.Shell; 9 10 /** Image View sample **/ 11 public class sampleswt01 12 { 13 14 /** main method of View Image **/ 15 public static void main(String args[]) 16 {
191 名前:190 mailto:sage [04/08/08 23:59] 17 Display display = new Display(); 18 Shell shell = new Shell(display); 19 shell.setText("Image View"); 20 shell.setLayout(new RowLayout()); 21 Image image = new Image(display,"./kago.jpg"); 22 Label label = new Label(shell,SWT.NONE); 23 label.setImage(image); 24 shell.pack(); 25 shell.open(); 26 while(!shell.isDisposed()) 27 { 28 display.readAndDispatch(); 29 display.sleep(); 30 }//while 31 display.dispose(); 32 }//main 33 34 /** non exec constractor **/
192 名前:191 [04/08/09 00:00] 35 public sampleswt01() 36 { 37 }//method sampleswt01 38 39 }//class sampleswt01 という単純なソースを gcj --main=nippon.tokyo.dreamtheater.test.sampleswt01 -fjni -L/usr/local/lib -lswt-gtk2 -fjni -I/usr/local/lib/libswt-gtk2.jar -o ../bin/sampleswt01 nippon/tokyo/dreamtheater/test/sampleswt01.java という単純なコンパイルを行って、実行ファイルはできあがったのですが、 Exception in thread "main" java.lang.UnsatisfiedLinkError: memmove at _Jv_LookupJNIMethod (/usr/lib/libgcj.so.4.0.0) at org.eclipse.swt.internal.gtk.OS.memmove(org.eclipse.swt.internal.gtk.GtkStyle, int) (/usr/local/lib/libswt-gtk2.so) at org.eclipse.swt.widgets.Display.initializeSystemResources() (/usr/local/lib/libswt-gtk2.so) at org.eclipse.swt.widgets.Display.init() (/usr/local/lib/libswt-gtk2.so) at org.eclipse.swt.graphics.Device.Device(org.eclipse.swt.graphics.DeviceData) (/usr/local/lib/libswt-gtk2.so) at org.eclipse.swt.widgets.Display.Display(org.eclipse.swt.graphics.DeviceData) (/usr/local/lib/libswt-gtk2.so) at org.eclipse.swt.widgets.Display.Display() (/usr/local/lib/libswt-gtk2.so) at nippon.tokyo.dreamtheater.test.sampleswt01.main(java.lang.String[]) (Unknown Source) というよくわからないエラーが出てとまります。 memmoveが見付からないみたいですが、それがどこにあるのか見当がつきません。
193 名前:デフォルトの名無しさん mailto:sage [04/08/09 02:20] man 3 memmove とか?
194 名前:192 [04/08/09 07:38] >>193 見ました. memmoveのソースはカーネルのあたりにあったのですが、 manによると、引数をとるようですね。 でも、このエラーでは何も出てませんね。 そもそも、memmoveが見付からないという状況がわからないんですが。
195 名前:デフォルトの名無しさん [04/09/04 00:21] >>192 見付からないのは、native memmoveがJNI経由で呼ぶmemmoveってメソッドだから、 man memmoveででてくるやつとは関係ない。 たぶんあんたの環境に、libswt-pi.soってのが足りないんだと思う。
196 名前:195 [04/09/04 00:26] > man memmoveででてくるやつとは関係ない。 補足。完全に関係無いって訳ではなく、JNIから呼ばれるmemmove内から、 man memmoveに出てくるやつが呼ばれてるはず。だけど、今回の問題とは 関係ないってこと。
197 名前:デフォルトの名無しさん [04/10/02 16:54:16] page.freett.com/gikob/gcj/gcjswt.html ↑の手順でやってもswt.oが生成されない…
198 名前:デフォルトの名無しさん [04/10/02 17:27:24] >>9 > 2. インストールしたら cygwin のシェルで > $gcc -v > と打ってみましょう。 > バージョンが 3.x、--enable-languages に java が入っていることを確認してください。 大量のオプションがずらずら一行で並んで 5秒たっても見つからなかったので↓こうしました。 $ for s in `gcc -v 2>&1`; do echo $s; done | grep languages 結果、 --enable-languages=c,ada,c++,f77,pascal,java,objc 入ってますたが、もっと分かりやすい見分け方はないんですか?
199 名前:197 mailto:sage [04/10/03 00:10:41] すいません。swtのバージョンを2.1.3のやつにしたら普通にできました
200 名前:デフォルトの名無しさん mailto:sage [04/10/03 09:53:24] お!アイコンできた。gccと方法一緒だね
201 名前:デフォルトの名無しさん [04/10/06 17:00:10] ライセンスについて教えて。 gcjで作ったバイナリの配布等、制限ありますか? 英語はどうも苦手で…
202 名前:デフォルトの名無しさん mailto:sage [04/10/06 19:07:24] >>201 基本的には libgcj は GPL なので、スタティックリンクするにしろ ダイナミックリンクするにしろ、 GPL で配布しなければならない。 ただし、使用している libgcj が LIBGCJ_LICENCE などで例外的に GPL にとらわれないリンクを認めている場合がある。 要は使ってる libgcj による。
203 名前:デフォルトの名無しさん mailto:sage [04/10/07 08:33:48] >>202 LGPLじゃなかったっけ? ダイナミックリンクならGPLにしなくても いいんじゃなかったっけ?
204 名前:デフォルトの名無しさん mailto:sage [04/10/07 14:00:32] >>203 GPLです。 gcc.gnu.org/java/faq.html#1_1 > libgcj is distributed under the GPL
205 名前:デフォルトの名無しさん mailto:sage [04/10/07 15:50:55] 例外条項の解説お願い。
206 名前:デフォルトの名無しさん mailto:sage [04/10/07 19:40:28] >>202 に書いてある。不足なら自分で原文を読むなり調べるなりしろ。 っつか、その程度も他人に頼らんと出来ないなら gcj を使うのは素直に諦めた方が…
207 名前:デフォルトの名無しさん mailto:sage [04/10/08 00:13:25] はーい。 >>204 のリンク先にlibgcjが理由で GPLになったりしないって書いてありました。 LIBGCJ_LICENSEのほうは例外として 他の部分でライセンスの不整合がなければ バイナリを作るためにリンクしても できたバイナリの複製、配布はじゆうですよ。て意味かなあ。
208 名前:デフォルトの名無しさん mailto:sage [04/10/08 00:15:12] LGPLだって何度も言ってるだろ
209 名前:デフォルトの名無しさん mailto:sage [04/10/08 00:37:05] gcj を使うのは素直に諦めた方が…
210 名前:デフォルトの名無しさん mailto:sage [04/10/08 04:50:06] >>209 そだね。ライセンス読まずに自分勝手な解釈してるし。
211 名前:デフォルトの名無しさん mailto:sage [04/10/08 04:55:14] >>208 っつーか、libgcj が使ってる GNU Classpath も GPL なので。
212 名前:デフォルトの名無しさん mailto:sage [04/10/08 13:45:28] > LIBGCJ_LICENSEのほうは例外として > 他の部分でライセンスの不整合がなければ > バイナリを作るためにリンクしても > できたバイナリの複製、配布はじゆうですよ。て意味かなあ。 て意味ではありません。 っつか、人工無能翻訳でも もうちょっとマトモだと思う…… やっぱり gcj を使うのは素直に諦めた方が……
213 名前:デフォルトの名無しさん mailto:sage [04/11/03 20:20:09] gcjの利点ってなに?
214 名前:デフォルトの名無しさん [04/11/04 01:19:17] >>204 gcc.gnu.org/java/faq.html#1_1 1.1 What license is used for libgcj? libgcj is distributed under the GPL, with the 'libgcc exception'. This means that linking with libgcj does not by itself cause your program to fall under the GPL. See LIBGCJ_LICENSE in the source tree for more details. 釣ってるの?
215 名前:デフォルトの名無しさん [04/11/13 05:50:25] savannah.gnu.org/cgi-bin/viewcvs/gcc/gcc/libjava/LIBGCJ_LICENSE?rev=1.2.2.1&content-type=text/vnd.viewcvs-markup 例外規定 As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
216 名前:デフォルトの名無しさん [04/11/13 06:00:27] その訳、 特別の例外として、このライブラリーの著作権保有者は、 独立したモジュールのライセンス条件にかかわらず、 それぞれのリンクされた独立したモジュールに対し そのモジュールのライセンス条件が適合すれば、 あなたの選んだ条件の下に、実行ファイルを作成するため、 作成された実行ファイルを複製し配布するためにこのライブラリーを 独立したモジュールとリンクする許可をあなたに与えます。 独立したモジュールとはこのライブラリーに由来しないか、 基づかないモジュールです。 このライブラリーを修正した場合は、あなたのバージョンのライブラリーに この例外を拡張してもよいですが、しかし、そのようにする義務はありません。 あなたがそのようにしたくない場合は、あなたのバージョンからこの例外を 削除してください。
217 名前:デフォルトの名無しさん mailto:sage [04/11/13 16:09:19] っつか、例外付きGPLとLGPLの区別が付いてない奴がいるのかよorz
218 名前:デフォルトの名無しさん [04/11/22 16:06:21]
219 名前:デフォルトの名無しさん [04/11/25 06:02:54] もう一つ、gcc.gnu.orgのjava project mailing listより gcc.gnu.org/ml/java/2003-11/msg00300.html On Tue, 2003-11-25 at 23:56, Steve D. Perkins wrote: > I found information on the licensing for GNU Classpath, but that > left me even more confused. For one thing, it's the GPL with a "special > exception" that seems to essentially make it LGPL'ed (why do certain > people hate the LGPL so much? do you really think calling it by another > name makes it different?). It is definitely different. The GPL+exception license we use does not have the relinking requirement present in the LGPL. This makes it much more friendly to embedded developers generating static executables (for instance). The license is similar in spirit to the libgcc and libstdc++ licenses.
220 名前:デフォルトの名無しさん mailto:sage [04/12/16 00:15:53] >>200 よろしければ、方法詳細ご教授願いたく。
221 名前:デフォルトの名無しさん mailto:sage [04/12/16 00:21:17] planet.classpath.org/
222 名前:デフォルトの名無しさん mailto:sage [04/12/24 13:40:44] 最近どうよ? sourceforge.net/projects/libswt/ sourceforge.net/projects/swingwt/ sourceforge.net/projects/gnome-gcj/ sources.redhat.com/rhug/ sourceforge.jp/projects/sdl4gcj/
223 名前:デフォルトの名無しさん [05/01/15 04:14:52] SwingWT使ってみた人いる? 感想希望
224 名前:デフォルトの名無しさん [05/01/19 16:52:27 ] age
225 名前:デフォルトの名無しさん mailto:sage [05/02/03 00:09:59 ] >>223 SWTが必要なあたりがアレだよね RHUGっていまいちわからんのだがなんなの?
226 名前:デフォルトの名無しさん mailto:age [05/02/03 00:17:42 ] rhugをgoogleの日本語サイトから検索すると、このスレが真っ先に目にとまる。
227 名前:デフォルトの名無しさん mailto:sage [05/02/03 04:01:14 ] >>225 そんなアレかなあ。SWTって薄いからマルチプラットフォーム を念頭において実装するときに最下層に持ってきて地ならしするにはいいと おもうんだけど。 IBMも自社製品でmotif/gtk/qt/win32の上にAWTを実装するのにSWTを 下に敷いてる。
228 名前:デフォルトの名無しさん mailto:sage [05/02/03 21:00:02 ] >>223 SwingWT単体で使ったのでちとスレ違いだが、ちょっとだけさわったことがある。 Eclipse VE が吐いたコードを、import宣言だけ変えてコンパイルしてみたが上手くいかなかった。 BoxLayoutが無い、JFrame#setDefaultCloseOperation(int)がない、 など、普段よく使うクラスやメソッドがサポートされて無くてげんなりした覚えがある。 0.84の頃だったかな。
229 名前:デフォルトの名無しさん mailto:sage [05/02/03 21:12:33 ] Windows版GCJ
230 名前:デフォルトの名無しさん mailto:sage [05/02/03 21:19:37 ] gcjでコンパイルするとランタイム入りでデカくなるというお話ですが 共有ライブラリ化しておけば実行ファイルは小さくなる?
231 名前:デフォルトの名無しさん mailto:sage [05/02/03 22:05:04 ] >>225 rhug は Java で書かれたクラスライブラリをGCJでコンパイルできる ようにしたものの集合…かなぁ? 扱っているライブラリの一覧は sources.redhat.com/rhug/index.html で見れるはず… Xerces + Xalan や Log4j,JUnitなんかも入っているんだけど どの程度ちゃんつ動くかは知らん… Xerces と Xalan だけはちょっとだけ試して一応動くことは確認したけど…
232 名前:デフォルトの名無しさん mailto:sage [05/02/04 22:24:35 ] >>223 SwingWT で swing のAPIを使うくらいならそのままSWTを使うかな… >>228 も書いてるけど足りないメソッド,動作しないメソッドがあって 既存のswingアプリを動かすにはかなり手間かな…
233 名前:デフォルトの名無しさん mailto:sage [05/02/07 17:08:42 ] >>230 小さくなるがそのランタイムは7Mくらいあるぞ まぁJREよりはマシだけど本末転倒だよな
234 名前:デフォルトの名無しさん mailto:sage [05/02/07 17:44:48 ] Some benchmark results gcc.gnu.org/ml/java/2005-02/msg00024.html
235 名前:デフォルトの名無しさん mailto:sage [05/02/07 19:57:07 ] gcjでランタイムをスタティックリンクすると、GPLに感染する?
236 名前:デフォルトの名無しさん mailto:sage [05/02/07 21:04:04 ] debianに入ってるjavaのパフォーマンスの良さに驚いた。 実装の名前は忘れたけど。 Cで実装したjarも速くてイカす。
237 名前:デフォルトの名無しさん mailto:age [05/02/07 22:13:18 ] >>236 それが何か 教えて欲しいから☹age
238 名前:デフォルトの名無しさん mailto:sage [05/02/08 00:35:24 ] nonfreeじゃなかったからkaffeかgcjくらいしか思いつかないが・・・?
239 名前:デフォルトの名無しさん mailto:sage [05/02/08 03:35:20 ] >>235 例外規定なしのバイナリとであれば静的/動的に関わらずリンクしたらGPLに感染する。 例外規定がある場合は例外規定の内容による。
240 名前:デフォルトの名無しさん [05/02/08 03:53:37 ] The rhug project is no longer necessary thanks to the great gcj and GNU Classpath hackers. rhugはobsoletedになったようです。
241 名前:デフォルトの名無しさん mailto:sage [05/02/08 04:06:04 ] ばれなきゃなんでもOK
242 名前:デフォルトの名無しさん mailto:sage [05/02/08 04:11:40 ] ばれなきゃいいっていう精神的乞食にだけはなりたくないね。
243 名前:デフォルトの名無しさん [05/02/08 04:13:43 ] 上の方を見ると例外規定があるおかげで動的静的リンクで感染しないように思うのだが、、
244 名前:デフォルトの名無しさん mailto:sage [05/02/08 14:50:08 ] >>243 常に例外規定があるわけではない。 作者はいつ例外規定を書き換えたり無くしたりしても構わないし、 例外規定には「ライブラリを改変した者は改変バージョンの配布時に 例外規定を削っても良い」と明記してある。
245 名前:デフォルトの名無しさん mailto:sage [05/02/08 14:53:33 ] 「ライブラリを改変〜」ってのは以下の部分。 > If you modify this library, you may extend this exception > to your version of the library, but you are not obligated to do so. > If you do not wish to do so, delete this exception statement > from your version.
246 名前:デフォルトの名無しさん mailto:sage [05/02/08 15:29:32 ] なんでGPLの話になると必死なのが沸いてくるんだ?
247 名前:デフォルトの名無しさん [05/02/08 16:13:49 ] そりゃ使おうと思ってるからさ
248 名前:デフォルトの名無しさん mailto:sage [05/02/10 00:33:40 ] >>237 今手元にマシンないけどたぶんgcjだった気がする。 パフォーマンスっていうか、立ち上がりがよくて軽快。 ロードしてからだったら計測したらsunの方が上なんだろうけど オレは起動が速いほうがいい。
249 名前:デフォルトの名無しさん mailto:sage [05/03/02 03:13:19 ] fastjar
250 名前:デフォルトの名無しさん mailto:chage [05/03/06 00:54:04 ] このスレが立てられて2年と3日、やっと1/4使いきりました。
251 名前:デフォルトの名無しさん mailto:sage [05/03/06 03:52:00 ] それでもgcj自体よりは使われてるよう棚
252 名前:デフォルトの名無しさん mailto:sage [05/03/13 23:18:57 ] knopix て gcj なのね
253 名前:デフォルトの名無しさん mailto:sage [2005/03/31(木) 19:48:45 ] >>252 何が?
254 名前:デフォルトの名無しさん mailto:sage [皇紀2665/04/01(金) 02:12:49 ] ttp://slashdot.jp/developers/05/01/15/0637223.shtml ttp://slashdot.jp/developers/05/03/19/1544241.shtml ↑ここいら辺の記事読むと、gcjでeclipseをnative compileとか 書いてあるけど、ちょっと、そそられない? #eclipse、まったく使えて無いのだけど、、。
255 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 12:21:22 ] なんでIDEが必要なのかがわからん。 便利さがあると思うけど、その分重くなっているのなら意味がないと思うんだよね、僕は。
256 名前:デフォルトの名無しさん mailto:age [2005/04/11(月) 19:31:33 ] キリ番なのでAGEます。
257 名前:デフォルトの名無しさん mailto:age [2005/04/11(月) 21:11:15 ] キリ番なのでAGEます。 257進数で。
258 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 21:45:21 ] Javaの文法は好きなんだがVMはちょっとなぁ というオレに最適な
259 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 22:55:35 ] >>258 gcj使って単独で動く実行ファイル作ってもVM内臓か外付けか、 の違いしかないと思うが。もしくはGPLマンセーか、Sunが嫌いか、 みたいな政治的(?)な動機とか。
260 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 23:00:55 ] >>259 jreのインストロールさせるのマンドイ というのも理由のひとつにしようと思っていた。 だが
261 名前:デフォルトの名無しさん [2005/04/13(水) 00:36:12 ] >>254 See "Native Eclipse - The Fast and the Furious IDE" section in developer.classpath.org/mediation/ClasspathShowcase
262 名前:デフォルトの名無しさん mailto:無駄に [2005/05/02(月) 22:40:34 ] age
263 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 21:34:15 ] jikesもエエヨー
264 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 21:26:06 ] ん?どういうことぉ?
265 名前:デフォルトの名無しさん mailto:age [2005/05/07(土) 21:26:51 ]
266 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 21:35:24 ] jikes自体はネイティブアプリケーションだけど、gcjみたいにネイティブ コードを吐けるわけじゃないのにな。
267 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 03:54:04 ] >>266 まぁそうだけど… gcj自体はクラスファイルを生成できるネイティブアプリケーション でもあるので jikes と競合しているといえなくもない… # あれ? じゃあ gcj だけでいいじゃんってことにな(ry
268 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 22:55:18 ] アパッチのメンバーら、「Project Harmony」でオープンソース版J2SE開発へ japan.cnet.com/news/ent/story/0,2000047623,20083372,00.htm だって。
269 名前:デフォルトの名無しさん mailto:age [2005/05/11(水) 06:38:37 ] >>268 そのニュースソース自体はここ関係ないよ それを使ってGCJに寄与できるかっていうと、そうは思えないし。 早くSWINGの実装してほしいな。僕には無理だから。
270 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 09:53:13 ] > ニュース-ソース [news source]< > > 情報源。 情報源っつー事は…… Apache Foundation? それとも Harmony の提案があったメーリングリスト?
271 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 12:08:38 ] >>269 そんな貴方にclasspath
272 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 12:55:37 ] >>269 本当にやるんなら gcj とか classpath とは競合するだろうから、 少なくともやる気とか競争心の部分で寄与してくれると思うよ。 それに Apache License v2 は GPL より緩いライセンスだから、 gcj とか classpath から見たら、Project Harmony の成果物をパクり放題。 実際にパクるかは別だし、まだ何も無いけど。
273 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 15:13:05 ] www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath.html をみると Swing も 半分以上は出来てるのか。 ダメっぽいのは metal LAF とか、text関係(HTMLも)とかぐらい? >>271 gcj が使ってるのは基本的に classpath だろ。 gcj の方で若干手を入れてるかもしれんが。
274 名前:269 mailto:age [2005/05/11(水) 22:58:57 ] >>271-273 よくわかってないんだけど、classpathはGCJに含まれているみたいなことをどっかで呼んだんだけど、gcj?(GCC?,GPL?,FSS?)バージョンのclasspathが入ってるってことなの? 別途、classpathをインストロールすればswingとかでアプリ組めるってこと?
275 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 23:32:27 ] >>274 classpathのAWTって確かGTK+ベースのやつしかないんじゃなかったっけ?
276 名前:274 mailto:sage [2005/05/11(水) 23:52:33 ] thx 今、Gnome使ってるからちょうどいいな。 調べてみます。
277 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 00:32:01 ] www.kaffe.org/~stuart/japi/ って、100%完成ってでててもコンパイルが通るだけで実行ができないものも含まれてるよね?
278 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 21:27:15 ] >>268 gcc.gnu.org/ml/java/2005-05/msg00093.html > We're trying to come up with some licence that allows the Apache > people to work with us and share resources. We're fairly confident > that it can be done. だそうで。GNU のプロジェクトなのに GPL 止めるのかな?
279 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 22:58:12 ] >>278 例えば(広告条項のない)Apache License 2 ならば、その成果をGPLなソフトに取り込む のは問題ないよね。そういう意味で互換性のあるライセンスでやる(やってほしい)ってこと じゃない?
280 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 00:33:15 ] >>279 それだと完全な一方通行になるから share resources とは言わんのでは?
281 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 01:24:17 ] 例外条項で調整するのかな。 www.gnu.org/software/classpath/license.html
282 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 01:26:09 ] そうだとすると、例外条項って何でもアリになってくるな。 すでに何でもアリになってるけど。
283 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 15:24:18 ] fedora developmentに libswt3-gtk2 というRPMが入っていたので、入れてみたら、 /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0.jar.so というのがインストールされていました。どうもswt.jar のgcjによるsoっぽいんで、 % gcj --main=WindowSample1 -o WindowSample1 /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0.jar.so WindowSample1.java としてみたら、ちゃんとリンクができ、実行オブジェクトができました。 でも、 % ./WindowSample1 としたら、 Exception in thread "main" java.lang.LinkageError: unexpected exception during linking: org.eclipse.swt.widgets.Display at java.lang.VMClassLoader.transformException(java.lang.Class, java.lang.Throwable) (/usr/lib/libgcj.so.6.0.0) at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.6.0.0) at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.6.0.0) at WindowSample1.main(java.lang.String[]) (Unknown Source) at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0) at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0) Caused by: java.lang.NullPointerException at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.6.0.0) となりました。しくしく。そう楽にはいかないの?
284 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 15:38:52 ] -lエクリプス(swt?)が抜けてるのでは? 違ってっても文句は言わずに。
285 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 23:14:07 ] >>284 全然関係なかった。隣家に渡すオプションが必要だった。 あと、やっぱりコンパイル時にジャンプ先を確定しないよう indirect-dispatchを指定するとか、幾つか工夫がいる。 libgcjやswtをLD_LIBRARY_PATHに通しておいたら、 バイナリのサイズは数十キロだけだし、GTK使ってるから日本語も問題ない。 同じソースで、windowとlinuxでnativeなguiを使ったバイナリが生成できるのは 最強だな。
286 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 00:14:12 ] ネイティブなのに速度ではHot Spotに遠く及ばないという理不尽さをのぞけば最強だ。w
287 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 18:37:51 ] >>286 実行ファイルのイメージがネイティブであるとかないとかってのは速度にあんまし関係ないからねぇ。
288 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 18:55:33 ] Windowsなら(サイズでかくなるけど)ランタイムの配布が不要なのは一応メリットになるが 他のOSではどうなんだろう?
289 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 19:49:53 ] 静的にも動的にも結合できるから問題ない。 動的な場合、libgcjをインストールさせればよい。 UNIX系の場合、
290 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 13:03:36 ] ってか Linux や BSD で最近の gcc が入ってれば大抵 libgcj は 入ってるはずだし… メリットは * ランタイム配布が不要 * 起動時間がJREよりは速い くらいか... swt でクライアントアプリケーションやツール系を作るのに使うってのが 無難な(おそらく唯一の)使い道じゃないかな? ゲームとかは… やっぱ C++ や D 言語の方が向いてる気がするなぁ…
291 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 22:27:45 ] >大抵 libgcj は 入ってるはずだし… ところがギッチョン入ってなかったりする
292 名前:290 mailto:sage [2005/05/26(木) 14:03:07 ] >>291 そんな環境もあるかもなー,という気はしてた… 具体的にどの環境で入ってなかったのか晒してくれるとみんな参考になるかも?
293 名前:291 mailto:sage [2005/05/26(木) 21:33:46 ] >>292 ここ数年LinuxのFTP版(無料)のディストロをアップデート期限まで使用しては 乗り換え〃してるからどれがそうだったかははっきり覚えてなけど、 Linuxのディストロによっては元からインスロールイメージに入ってなかったり、 標準ではインストールされないものがあった。 まぁでもソースからインスソールさせればいいのかなぁ。
294 名前:290 mailto:sage [2005/05/27(金) 14:43:16 ] そのディストリビューションは最近のgcc(3以降くらいか?)なんだよねぇ?
295 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 14:46:28 ] 古いlibgcjなんかが入ってると、かえって迷惑ってこともあるわな。 現状ではスタティックリンクがお勧めかな。
296 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 15:22:35 ] g++ + boehm GCで書くのとgcjで書くのとでは、パフォーマンス的には同じよーなモノなのでしょーか? 後、バイナリサイズ的にはいかがでしょう。
297 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 15:49:44 ] 自分で計れよ。バイナリサイズなんて何を使うかで全然違ってくるだろ。 それからg++ + boehmがJavaのように使えると思ったらかなり間違いだ。
298 名前:デフォルトの名無しさん [2005/06/02(木) 21:26:08 ] Linuxで作って、Windows用バイナリーを作る方法教えてください
299 名前:デフォルトの名無しさん mailto:sage [2005/06/02(木) 22:40:45 ] 1.Linuxで書いて、Windowsでコンパイル 2.Wineでコンパイル 3.Mingwnでコンパイル 4.ソース眺めながら脳内コンパイル
300 名前:デフォルトの名無しさん mailto:sage [2005/06/02(木) 22:54:13 ] 5. バイナリエディタで作る
301 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 00:37:51 ] 6. Linux側にクロス環境を構築する。
302 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 01:34:52 ] 5は3、6は4と言ってる事たいして変わらんね
303 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 01:35:17 ] 逆だった・・・
304 名前:298 [2005/06/03(金) 06:43:14 ] >>301 の6の方法がいいですが、何を準備すればいいでしょう? と、いうかWindowsは職場にしかなく、Linuxは自宅にしかなく、 会社の規定でWindows側に開発環境を持ち込めないのですが、 どうしてもちょっとしたソフトが必要になっています。
305 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 13:13:12 ] ぐぐってみた。 ttp://bitwalk.hp.infoseek.co.jp/ ためしてはいない。
306 名前:デフォルトの名無しさん [2005/07/08(金) 21:40:38 ] gcjでant使えるようにえれーいろいろコンパイルして 動くまでいったらant.exe 32MBでした。以上です
307 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 02:34:31 ] ネイティブ言語なら、動的/共有ライブラリにして外出しされる部分だろうな、サイズを増加させてるのは。
308 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 20:58:33 ] >>306 Fedora Core 4のant-1.6.2-3jpp_10fcだと /usr/lib/libant-1.6.2.jar.soが3,221,724バイト、 /usr/lib/libant-launcher-1.6.2.jar.soが25,688バイト。 合わせてだいたい32MBくらい?
309 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 22:39:29 ] >306 仰るとおりです。ant, ant-launcherだけだとうまく動きませんで、 足りないのばんばん足してった結果 xerces, bcel, log4j, junit, xalan, ant-nodeps(7割) まで入れちゃって32MBになります。入れたはいいがjunit, xalanは機能しない >307 個々のサイズはant (5,441,802), ant-launcher(51,386)になります そこまで小さいのはできそうにありません 機能しないの取っ払って最適化いじって32MBは9MBまでいきました。 マルチスレッド機能してるしすごいねこれ、9MBあっても普通のより早いと感じる。 gcjいかすね!バグみっけたら俺の園児レベルの英語でばんばんパッチ送っていくぜ
310 名前:1段ずれたのはご愛嬌 mailto:sage [2005/07/09(土) 23:41:04 ] ant.exe+jikes.exeちょっぱやっすよちょっぱや
311 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 07:51:53 ] >76 の作り方教えて欲しい
312 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 22:38:53 ] へいお前さんがた 静的にするには名前集めてもっかいリンクするだけじゃないのかい? うまく作れないけど、ものっそい名前つく _ZN99とかだらけだけどよろしいのかな echo EXPORTS >libgcj.def nm libgcj.a | grep ' T _' | sed 's/^.* T _//' >>libgcj.def dlltool --def libgcj.def --dllname libgcj.dll libgcj.a 最後のdlltoolってばgcj -share とかでも同じ?なんか微妙に違うけど これでdll作ってそっから吐き出すlibgcj.aで置き換えたら完 ってはずだったんだけど参ったぜ、ぶっちゃけるとここでスキル全開なんだ こんな単純じゃない?どうやってこしらえるん
313 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 12:23:36 ] MinGW 環境での gcj用の SWT のビルド手順と MinGW gcc3.4.4 用のバイナリパッケージ. ttp://hoeppie.gmxhome.de/SWT/
314 名前:デフォルトの名無しさん [2005/08/28(日) 15:42:18 ] Cygwinのgcj使ってるんだけど gcjってSJISのファイル入出力どうやるの? 普通にReader、Writer使って動いてたたclassをEXE化したら 化けて全然使えないんだけど。
315 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 16:26:25 ] >>314 new InputStreamReader(inputstream, "SJIS "); new OutputStreamWriter(outputstream, "SJIS ");
316 名前:314 mailto:sage [2005/08/28(日) 19:28:38 ] ぬ、 素人だと思って馬鹿にしてるな こちとらUNIX系は素人だけど Javaは1.0のころからやってんだこんちくしょうべらぼうめ。 ていうかおねがいしますよ 助けてくださいよ 普通にjavaコマンドで動かせば問題ないんですよ。 gcj --main=TestMain --classpath=bin -o test.exe bin/TestMain.class ってexeに変換したら全然だめなんですよ。
317 名前:314 テストソース mailto:sage [2005/08/28(日) 19:29:26 ] import java.io.*; import java.util.*; public class TestMain { private static final String WIN_SJIS = "Shift_JIS"; static PrintWriter log; public static void main(String[] args) throws IOException { String inFile, outFile; inFile = args[0]; outFile = args[1]; System.out.println("infile:" + inFile); System.out.println("outfile:" + outFile); OutputStream os = new FileOutputStream("debug.log"); log = new PrintWriter(new OutputStreamWriter(os, WIN_SJIS)); List list = readLines(inFile); writeLines(outFile, list); }
318 名前:314 テストソースつづき mailto:sage [2005/08/28(日) 19:30:37 ] private static void writeLines(String outFile, List list) throws IOException { OutputStream os = new FileOutputStream(outFile); BufferedWriter w = new BufferedWriter(new OutputStreamWriter(os, WIN_SJIS)); Iterator i = list.iterator(); int line = 0; while (i.hasNext()) { String out = (String)i.next(); w.write(out); w.write("\r\n"); w.flush(); line++; if (line % 50 == 0) System.out.println("out:" + line + ":" + out); } w.close(); }
319 名前:314 テストソースつづき2 mailto:sage [2005/08/28(日) 19:31:14 ] private static List readLines(String inFile) throws IOException { InputStream is = new FileInputStream(inFile); BufferedReader r = new BufferedReader(new InputStreamReader(is, WIN_SJIS)); List list = new LinkedList(); long line = 0; String in; while ((in = r.readLine()) != null) { list.add(in); line++; if (line % 50 == 0) System.out.println("in:" + line); } r.close(); return list; } }
320 名前:デフォルトの名無しさん [2005/08/28(日) 19:39:15 ] >ってexeに変換したら全然だめなんですよ。 当たり前じゃん そこまでネイティブに無料で変換できるのであればJETなど買う奴いない gcjのサポートしているAPIを読め
321 名前:314 mailto:sage [2005/08/28(日) 19:48:43 ] >>320 >当たり前じゃん >そこまでネイティブに無料で変換できるのであればJETなど買う奴いない ガーン。 GUIがアレなのは予想できたけど テキスト処理ONLYのコンソールアプリもダメとは! >gcjのサポートしているAPIを読め すんませんリンク教えてください。
322 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 20:03:13 ] ant.exe作ってからこつこつ知識をつけてきた俺がお答え、 できませんスキルの関係でもうしばらくお待ちください。 自分はウィンだと痒いところに手が、いや痒いところに対して全然手が足りない状態だったので kernel2.6と駆け落ちしています。 コツはね、jarをいっきにいかずばらして全部コンパイルして そんで一回まとめて ar cur libtest.a *.o gcj --classpath=.:test.jar --main=Main Main.o -ltest ってのが俺はすんなりいった
323 名前:デフォルトの名無しさん [2005/08/28(日) 20:04:33 ] >libgcjは、 JDK 1.2ライブラリとおおむね互換性があります。 >しかし、 libgcjには欠けているパッケージも数多くあります。 >これは、 java.awtにおいて特に顕著です。個々のクラスやメソッドで欠けているものもあります。 >現在のところ、 libgcjとJava 2プラットフォームの相違点を一覧にしたものはありません。 ちょっと待ってくれよ、そこまでコンパイルオプション知っていて尚且つJava暦長いのなら GCJのDoc当然読んでいると思ったよ
324 名前:デフォルトの名無しさん [2005/08/28(日) 20:05:33 ] >現在のところ、 libgcjとJava 2プラットフォームの相違点を一覧にしたものはありません。 ↑これが重要で しかも[悪]
325 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 20:18:21 ] libgcj.aからSJIS周りの.oファイルを取り出して直接リンク。 ところでそれ、テストソースになってない。どこでなにがどう 化けているか確認できないだろ。
326 名前:314 mailto:sage [2005/08/28(日) 20:28:28 ] >>323 いや、俺もそこは読んだけど AWTは互換性あんまないけど他はけっこういけるんじゃないかと思ったのさ (甘かったけど) >相違点を一覧にしたものはありません。 うーん。 >どこでなにがどう化けているか確認できないだろ。 ファイル出力もだめだしSystem.outでコンソールに出しても化け化けでどうにも、、 unicodeをダンプするべきだったすね。
327 名前:デフォルトの名無しさん [2005/08/28(日) 20:51:10 ] (new InputStreamReader(is, WIN_SJIS)); がダメなら バイトで読み込んでそのままバイトで出すとどうなる? そうすれば、少なくともWin環境ではコンソールで化けないとおもう
328 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 20:52:21 ] 皆使ってんのか!??俺だけじゃねーのか?とか思ってたぞ これ作ってみバイナリサイズも実行速度も文句ないと思うよ 依存もないし unzip javacc-3.2.jar for cls in `find|grep *.class`; do gcj -g -O2 --classpath=. -c -o ${cls%class}o $cls done gcj -g -O2 --classpath=. --main=javacc -o javacc javacc.o org/javacc/parser/*.o 他ねーの??
329 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 20:54:35 ] >>326 最低限 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")); これくらいの情報はないとね。
330 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 20:55:13 ] それ動くか試してないから手直必須 あと org/javacc/parser/Version.oも入れる
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 ] あけましておめでとうございます