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

このエントリーをはてなブックマークに追加
511デフォルトの名無しさん:2007/11/03(土) 08:24:21
gcj + Sun class libraryってprojectもあるよ。
けどgcjの中の人たちは、classpathがかなり仕上がってきているから、
そっちの方に重きを置いている人が多い。
二年前にSunがソース公開していたら、状況は違ったと思うけれど。
いずれにせよ、ちゃんとした成果がないことを嘆くのはまだ早い。
512デフォルトの名無しさん:2007/12/16(日) 06:49:52
gcj試してみたけどちょっとしたプログラムでも動作が怪しい。
同じプログラムをExcelsior JETで変換するとすんなり動いた。
やはり商用には敵わないか・・・
JETの購入真剣に検討してみるかな。
513デフォルトの名無しさん:2007/12/16(日) 15:39:22
↑工作員っぽくてかっこいい
514デフォルトの名無しさん:2007/12/16(日) 15:43:17
少なくとも Eclipse という gcj でコンパイルでき、
動作もする大きなパッケージがある訳で。
515デフォルトの名無しさん:2007/12/17(月) 15:30:29
Excelsior を使いたい状況って何なんだろう・・・
最近じゃ無くなってきてないですかね?
JREの導入も簡単になってきてるし・・・・
それでもいやなときは、gcjというフリーな解があるのであって・・・
仕事でやるときは、JRE入れるのが安全だもんなぁ
516デフォルトの名無しさん:2007/12/17(月) 22:44:28
gcj じゃ Excelsior の代りにはならんだろ…
Java5未対応だし,使えないAPIが山ほどあるし(Win32環境だと特に酷い).
gcj を使うなら最初からある程度 gcj をターゲットにして作っていくか,
使えないAPIを自分で実装しながら作っていくくらい気合入れてやらないと.
gcj用に作ってついでにJREでも動くってのは可だが逆はかなり手間かかると思うぞ…
517デフォルトの名無しさん:2007/12/18(火) 13:29:52
ん、いや、仕事で使う時なんだけど
まずはJREを使うという選択肢を検討する。
次に、gcj 、Excelsiorという選択肢があるんだが
昔に比べ、JRE導入で片付く件が多くなってるんじゃないということ。
gcjもExcelsiorも、どっちも仕事で使うにはJRE使用よりも活用度は落ちると思っただけ。

趣味で使うなら、もともと有料のアプリを使う動機に欠けるわけで。
技術的興味からgcjを利用するというのはわかるけど・・・・
518デフォルトの名無しさん:2007/12/19(水) 01:16:01
つ チラシの裏
519デフォルトの名無しさん:2007/12/19(水) 17:21:29
gcjでSocketを使ったプログラムを変換すると
プログラムがフリーズしてしまうのですが
どなたか解決策をご存知の方いないでしょうか?

プログラム自体は下記のサイトのサーバー側と同じ物です。
ttp://www.hellohiro.com/socket.htm
520デフォルトの名無しさん:2007/12/19(水) 17:28:44
↑変換後のプログラムでSocket通信を行うとフリーズしてしまうということです。
521デフォルトの名無しさん:2007/12/20(木) 11:34:17
>>519
非常に申し分けないがこのスレにエスパーはいないようなんだ…
OS や gcj のバージョンくらい書いてみたらどうかね?
522519: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デフォルトの名無しさん:2007/12/22(土) 12:10:15
>>522
昔試した限りでは win32 環境で libgcj の Socket は使っただけで例外はいた。
試したのは MinGW の GCC 3.4.2 だったと思う。現状では win32 環境の libgcj は
完成度が低すぎて使い物にならないってのがそのときの結論だった。
ちょい上にも書 Sun の Java 用に書いたものを gcj にポートするのは厳しいと思えっていてあるでしょ?

# Linux だとわりと動くんだけどねぇ…
524519:2007/12/23(日) 22:35:55
あれから何度か試してみましたが、
例外もはいていないようなので原因はまったくわかりませんでした。
やはりまだwindows上では厳しいままのようですね。。

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

しかし、こういう技術があるのをまったく知らなかったので
今回は良い勉強になりました。ありがとうございました。
525デフォルトの名無しさん:2007/12/23(日) 23:31:52
>>524
デバッガで止めたらどこで止まってるの?
後スタックトレースとかもあるとうれしいが。
526デフォルトの名無しさん:2007/12/24(月) 00:39:23
簡易HTTPサーバくらいなら動かせそうな気もするけどねぇ…
527デフォルトの名無しさん:2008/03/12(水) 18:12:54
GCC 4.3.0 から Java 1.5 の言語仕様を満たすようになってるらすいな。
528デフォルトの名無しさん:2008/03/12(水) 18:26:36
フロントエンドのリプレース終わったのか?
529デフォルトの名無しさん:2008/03/12(水) 18:36:57
あけましておめでとうございます
530デフォルトの名無しさん:2008/03/18(火) 01:53:29
今更で恐縮ですが、
hsqldb.jar はgcjでコンパイルでき
付属の簡易Servletも機能する

あけましておめでとうございます。
531デフォルトの名無しさん:2008/08/08(金) 18:42:00
誰もいない予感
532デフォルトの名無しさん:2008/08/08(金) 19:13:34
夏休みでも静かだな…
533デフォルトの名無しさん:2008/08/14(木) 18:54:47
過疎ってるから話題を振ってみる
Sunがこういうネイティブコンパイラ作る計画ってのはないの?
今の財産生かせばそんな難しい事じゃないと思うし結構需要あると思うんだけどな
534デフォルトの名無しさん:2008/08/15(金) 17:11:02
どこ向けに出すのさ
535デフォルトの名無しさん:2008/08/16(土) 22:46:20
GCJ使ってる層じゃね
536デフォルトの名無しさん:2008/08/18(月) 11:57:20
>>535
つまり需要はないってことか…
537デフォルトの名無しさん:2008/08/18(月) 12:45:07
CNIみたいなのをサポートしてくれないなら不要。
538デフォルトの名無しさん:2008/08/18(月) 14:44:46
>>533
思想的に Sun がネイティブコンパイラ出すことがそもそもありえんだろ・・・
539デフォルトの名無しさん:2008/08/18(月) 17:33:08
JITのコンパイル結果をキャッシュしてくれてもいいとは思うんだよな。
クラスファイルが更新されてないかとか整合性を調べてOKなら再利用。
540デフォルトの名無しさん:2008/09/05(金) 12:06:10
gnu.gcj.jit.cachedir
541デフォルトの名無しさん:2008/10/04(土) 20:04:02
しかしネイティブコンパイルしてもそんなに速度あがんねーんだな。
Java実行環境も進歩したもんだ。
542デフォルトの名無しさん:2008/10/05(日) 21:20:51
つうか動的な要素の多い言語だと必ずしも静的コンパイルしたほうが
早くなるわけじゃ…。実行時情報を使えないし。

C++・Fortran・OCamlあたりをネイティブコンパイルすると速度でるのは
あらかじめそういうこと想定した文法やライブラリだから。
543デフォルトの名無しさん:2008/10/05(日) 21:54:07
gcjのコンパイルって全部静的に解決してるのか?
544デフォルトの名無しさん:2008/10/05(日) 22:22:07
実行時に外部からクラスファイルを読み込んだときのためにインタプリタも内蔵してるとか聞いた覚えがある
545デフォルトの名無しさん:2008/10/07(火) 13:03:14
すごく…おおきいです
546デフォルトの名無しさん:2008/10/10(金) 20:30:39
gcjを使えば、javaでcgiが作れそうなのだが、
GETやPOSTのデータを受け取る方法がわからない。
下のHello.java をgcjでコンパイルして、http://yoursite/Hello.cgi?a=1
とかしたいのだが、nullしか受け取れん。どうすればいいだろうか?

public class Hello{
public static void main(String[] args){
String output = "";
output += "Content-type: text/html;charset=utf-8\n";
output += "\n";
output += "<HTML><BODY>hello" + System.getProperty("QUERY_STRING") + "</BODY></HTML>";


System.out.println(output);
}
}
547デフォルトの名無しさん:2008/10/10(金) 20:42:48
Java2Dとかawt.Robotとかは使えるの?
548デフォルトの名無しさん:2008/10/10(金) 20:46:46
>>546
QUERY_STRINGはSystem.getenvで取れると思う。ただしJava5以上ね。
POSTはstdinに放り込まれるんじゃなかったかな。
549デフォルトの名無しさん:2008/10/11(土) 22:57:03
>>548
さんくす。動いた。
が、gcjが思ったより遅かったので失望した・・
550デフォルトの名無しさん:2008/10/11(土) 23:56:34
なに?こんなのあるの?

俺様のLinuxに入れたサーブレットもこれでコンパイルしてみよう。
551デフォルトの名無しさん:2008/10/12(日) 00:32:10
HotSpotコンパイラと同じ性能を期待したらアカンよ。
バッチ処理で使いたいならC++ with Boostでも使った方がいい。

あとJavaサーバーはJavaサーバーのまま使うのが一番速い。
SPECweb2005っていう動的Webコンテンツのベンチマークがあるんだけど、
そこはJSPの独壇場でPHPじゃ歯が立たない状態になってる。
552デフォルトの名無しさん:2008/10/12(日) 12:08:14
phpてw
そこまで話のレベル落とされても…
553デフォルトの名無しさん:2008/10/12(日) 13:04:37
gcjならjre使うより速いって思い込んでる住人のレベルの低さのが気になる
554デフォルトの名無しさん:2008/10/12(日) 13:30:13
JITコンパイル時間が短縮される
実行時の性能は今時のサーバーVMのが上
つまりサーバアプリに使っても何の意味も無い

ってことで合ってる?
555デフォルトの名無しさん:2008/10/12(日) 13:42:42
思い込んでねえって。10ぐらい前のレスでも話でてる。
556デフォルトの名無しさん:2008/10/12(日) 14:05:02
言語毎のコンパイラ性能の比較サイトがあるから参考になるよ
ttp://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gcj
557デフォルトの名無しさん:2008/10/12(日) 14:13:35
>>554
サーバアプリみたいに、
起動しっぱなしで、
同じコードを何度も何度も実行する応用の場合、
JITの性能がメインファクター。
558デフォルトの名無しさん:2008/10/12(日) 22:36:50
gcjはarmネイティブコンパイル用に使うんです><
559デフォルトの名無しさん:2008/10/12(日) 23:21:33
armって、libgcjもてるような環境そんなに多いか?
560デフォルトの名無しさん
ちょw