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


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

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



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


本家
gcc.gnu.org/java/


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

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






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

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

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