GCCについて part8
..
2: ◆3.JjF77I26
07/10/13 00:58:22
2get
3:デフォルトの名無しさん
07/10/13 01:09:51 BE:328057362-2BP(100)
>>1乙
4:デフォルトの名無しさん
07/10/17 11:28:31
x86です。
double d = 0.3; int i;
i = d * 1000;
とすると i=299になります。
d = d * 1000; i = d;
とするとi=300になります。 Macのgccで試したら300になるので生成したコードを調べると
SSE2インストラクションを使ってました。試しに-msse2でコンパイルすると両方とも300に
なりました。 gccは3.2.2, 3.3.5, 4.1.1と試しましたが全部同じです。
manに書かれている以下の文が関係しているのでしょうか?
... -msse2 ...
The resulting code should be considerably faster in the major-
ity of cases and avoid the numerical instability problems of
387 code,
この問題をどこか詳しく説明している文書はありますでしょうか?
5:デフォルトの名無しさん
07/10/17 11:56:17
x86は浮動小数点数レジスタが80ビットあり、演算はこの大きさで行われる
メモリに書き戻されるタイミングで64ビットに切り捨てられるのだが、
コンパイラの最適化の具合によって
メモリに書き戻されるタイミングが変わり、計算結果が変わることがある
6:デフォルトの名無しさん
07/10/17 17:19:41
floatだと300になるんだよなぁ。
最初の方で
double d = 2.99999999999999988897769753748434595763683319092e-1;
float f = 3.00000011920928955078125e-1;
に変換されていた。
-O0だとハードウェアが使うそのままの形で渡すから、マシン依存ってことかな?
-O2だとmsse2じゃなくても300になった。
URLリンク(gcc.gnu.org) だね。
gccはrtlとか出てきたらよく分からんなぁ。GIMPLEはわかりやすいんだが。。。
7:デフォルトの名無しさん
07/10/17 19:24:51
GCC用のソースをVCでコンパイルできるようにしてたときにちょっと引っかかったんだけど、
構造体の初期化でメンバ名を指定できるのと、その他の初期値を指定できるなんて
初めて見たよ。
たしかに便利っちゃぁ便利だけど...
8:デフォルトの名無しさん
07/10/17 19:39:32
全然普及しないC99
9:4
07/10/17 19:41:08
>>5 >>6
大変参考になりました。 ありがとうございます!
10:デフォルトの名無しさん
07/10/18 06:39:02
>>7
VCってC99サポートしてないの?
11:デフォルトの名無しさん
07/10/18 06:52:22
してないよ
12:デフォルトの名無しさん
07/10/18 16:55:33
低反発枕が凄い硬くて反発力が激しいのですが何とかなりませんか。
13:デフォルトの名無しさん
07/10/18 18:13:06
知るか
14:デフォルトの名無しさん
07/10/18 18:51:03
>>7
コンパウンドリテラル
15:デフォルトの名無しさん
07/10/19 16:41:06
>>7
designated Initializerか
>>8にもあるけどC99で取り入れられてるな
16:デフォルトの名無しさん
07/10/20 08:33:01
max-inline-insns-singleはどのようなときに設定するものなのでしょうか?
17:デフォルトの名無しさん
07/10/20 19:19:15
>>6
いや、0.3=3/10は2進数では無限小数になって丸め誤差が出ているだけでは?
0.3 = 0.10011001100110011001100…
18:デフォルトの名無しさん
07/10/20 20:54:41
>>17 0.010011001・・・
19:デフォルトの名無しさん
07/10/25 06:16:18
gccのプリプロセッサが、ヘッダファイルをどのディレクトリから探しているのか、探している様子を
画面表示するオプションは無いでしょうか?
gccの-iprefixオプションを使うと、途端にいくつかの標準ヘッダが見付からなくなる現象で悩んでます。
20:デフォルトの名無しさん
07/10/25 09:08:33
-vじゃだめなの?
21:デフォルトの名無しさん
07/10/27 07:52:36
GCC 4.3.0 Status Report (2007-10-25)
URLリンク(gcc.gnu.org)
stage3まではサクサク進んできたけど、現在バグ取りで膠着状態
まだまだ使える状態じゃないっぽい
22:デフォルトの名無しさん
07/10/27 10:29:55
コード生成以後もいろいろ大変なんだろうけど、
C++やJavaみたいに、言語規格自体が大きくて、
しょっちゅう変更される言語も含まれるから、
リリースがどんどん重くなりそうだね。
libstdc++なんか、言語処理系のバージョンとの関係が切り放せないし。
23:デフォルトの名無しさん
07/10/27 22:51:53
C++は変更が2009年までに本当に終わるのかどうかが心配されているわけだが。。。
24:デフォルトの名無しさん
07/10/27 22:55:55
gcc -gと-ggdbと-g3の違いは何でしょうか。gcc-4.1.2です。
25:デフォルトの名無しさん
07/10/28 01:31:47
デバッグ情報をどれだけ入れるかの違い。
26:デフォルトの名無しさん
07/10/28 01:33:24
もう少し具体的に。
-g3のマクロ云々はいいので、-gと-ggdbだけでも。
27:デフォルトの名無しさん
07/10/28 02:03:55
gcc -g はmanで詳細が調べられる
gcc -ggdbはmanで詳細が調べられる
gcc -g3はmanで詳細が調べられる
これぐらいかな違いは。
28:デフォルトの名無しさん
07/10/28 02:08:43
manにもinfoにも載ってないよ。
29:デフォルトの名無しさん
07/10/28 05:58:40
構造体のパックってどうやるんですか
30:デフォルトの名無しさん
07/10/28 07:06:55
パックしたい構造体に#pragma pack(1)を使う
31:デフォルトの名無しさん
07/10/28 07:36:09
__attribute__((packed)) は?
32:デフォルトの名無しさん
07/10/28 16:10:01
>>30-31
pragma より atribute がお勧め。
33:デフォルトの名無しさん
07/10/28 16:21:57
今時、構造体のパックして何するの?
34:デフォルトの名無しさん
07/10/28 17:31:01
お肌にいい
35:デフォルトの名無しさん
07/10/28 17:40:37
>>33
昔は必要だったの?
36:デフォルトの名無しさん
07/10/28 17:56:39
>>33
余計なalignmentが入るのを防ぐ。
最初にデータ構造ありき、な時は必要でしょ。
ファイルフォーマットとかパケットの構造体作る時とか。
37:デフォルトの名無しさん
07/10/28 18:08:32
そういうわけだから、今でも要るところには要る。
38:デフォルトの名無しさん
07/10/28 18:14:06
アライメント違反でSIGBUSするCPUの場合はどうするの?
39:デフォルトの名無しさん
07/10/28 18:17:31
>>38
ずっと前に、コンパイラがバイト単位での読み書きに翻訳してくれたりした覚えが
あるんだけど、今考えるとメンバ単体をポインタ経由でアクセスしたら死にそう。
40:デフォルトの名無しさん
07/10/28 18:27:17
OSのカーネルがやってくれる場合もあるな。
でも、OSもコンパイラも面倒見てくれない環境もあるべ。
自分でバイト単位に書き込むのか?
41:デフォルトの名無しさん
07/10/28 18:33:59
>>40
だれも面倒見てくれないんなら自分でやればいいだろ。
42:デフォルトの名無しさん
07/10/29 12:23:46
>>40
trapで落ちてからか〜、大昔からあるテクニックだけど今時のマシンでやったらstallしまくりでいやげだなぁ。
softfloatとかも便利だけど鈍いよね。
43:デフォルトの名無しさん
07/10/29 21:34:43
>>42
だがそれがいい
44:デフォルトの名無しさん
07/10/29 22:07:24
>>40
エミュするのめんどいんで、自力でなんとかしてくれ。
>>42
正確に数えたことないけど数十倍の時間がかかるはず。
根性でもう少し高速化できるかも知れんが、あくまで救済措置だからのう…
そんな所にエネルギー使いたくない。
45:デフォルトの名無しさん
07/10/31 03:47:24
__DATE__とか__TIME__を現在の日時に展開するのをやめさせたいんですが、何か方法はありますか?
こいつらのせいで、毎回チェックサムの異なるバイナリが生成されてしまいます・・・。
46:デフォルトの名無しさん
07/10/31 04:11:29
undef?
47:デフォルトの名無しさん
07/10/31 04:27:42
できないみたい
48:デフォルトの名無しさん
07/10/31 04:29:32
__DATE__と__FILE__を含む行をコメントアウト
49:デフォルトの名無しさん
07/10/31 04:32:55
#define __DATE__ ""
はムリ?
50:デフォルトの名無しさん
07/10/31 04:36:47
redefeindでerror
51:デフォルトの名無しさん
07/10/31 04:50:28
コンパイルオプションに -undef ってなかったっけ?
それでも __DATE__ とかには効かないかもしれないけどね。
52:デフォルトの名無しさん
07/10/31 06:01:50
#if defined(__DATE__)
#undef __DATE__
#define __DATE__ "2007/10/31"
#endif
53:デフォルトの名無しさん
07/10/31 12:12:54
-undefは他のマクロも消えて影響大きすぎるから
gcc -U__DATE__ -D__DATE__=\"hoge\" でいいだろ。
54:デフォルトの名無しさん
07/10/31 18:09:14
無料だな
55:デフォルトの名無しさん
07/11/02 13:37:57
4.3もやっぱり実行速度は今までのより遅くなっているみたいだね
56:デフォルトの名無しさん
07/11/06 05:57:27
マルチスレッドと最適化の問題。 難しいもんですね。
URLリンク(kerneltrap.org)
57:デフォルトの名無しさん
07/11/07 01:33:13
LLVMってどうなのさ
58:デフォルトの名無しさん
07/11/07 16:03:54
llvmで検索してでてくる日本語サイトがゴミ
59:デフォルトの名無しさん
07/11/08 01:21:07
gccのltoが手間取っている間にこっちは順調にやってるぽい?
まだ最適化のステージがgccには及ばない部分もあるかもしれない。
まだちょっとバグがあるけど、もう一歩で実用的になりそうな気配が。
結構appleがコミットしてるな。
offline optimizationとやらがいまいちよくわからないけど、
apiで簡単に使えるようなフレームワークがあるのかな?
llvm-gccで直にコンパイルしたらバイナリサイズが結構でかいんだが、
中に実行時最適化の為のコードが入ってるのかな。
どういう手順で使うのが普通なんだろ。
60:デフォルトの名無しさん
07/11/08 01:50:43
URLリンク(osnews.com)
ちょうどなんかフロントエンド向けのチュートリアルがupされた模様。
61:デフォルトの名無しさん
07/11/08 01:58:46
offlineってのはruntimeじゃない時。
compile-timeでもlink-timeでもない。
インストールした直後とか、利用者に指示された時。
62:デフォルトの名無しさん
07/11/09 18:40:12
QT
63:デフォルトの名無しさん
07/11/09 19:35:45
llvm-gcc4をcygwin上でbuildできた人はいる?
stage2でerrorになるのだが…
どうも、stage1で作ったxgccの動作確認で失敗してるみたい。
空のmain関数だけのtpをxgccでcompileして実行するとseg. faultで落ちる。
生成したアセンブリを見ると、spを変な値に設定してるようだ。
64:デフォルトの名無しさん
07/11/10 12:03:13
cygwinじゃないけどcflagsに何かmarchあたりの設定してるとビルドできなかった。
65:デフォルトの名無しさん
07/11/12 02:09:17
モノによっては
-mtune=k7
とか、mtune指定するとダメなやつもあったり
そもそも-marchやるだけでダメなやつもあったり
-targetとか、あそこらへん指定すると cannot build executable とか出くさるものもあったり
66:デフォルトの名無しさん
07/11/12 20:43:38
demand pagingってオプションやプラグマとかで
無効化できないものでしょうか?
67:デフォルトの名無しさん
07/11/12 21:39:39
どのdemand pagingのことを言っているのかは知らないけど、
ふつうはOSの機能なんじゃないの?
68:デフォルトの名無しさん
07/11/12 21:41:35
VM?
69:デフォルトの名無しさん
07/11/13 17:21:26
gccでexitをフックするにはどうしたらいいでしょうか?
segmentation faltとかならgdbで場所を把握できるんですが,
exitで普通に終わってしまって..
70:デフォルトの名無しさん
07/11/13 17:37:52
at_exit?
71:デフォルトの名無しさん
07/11/13 18:29:12
>>69
(gdb) b exit
(gdb) b _exit
では止まらないと申すか。
72:デフォルトの名無しさん
07/11/16 17:40:13
#include <stdio.h>
#include <sys/types.h>
int main(void) { printf("%d\n",sizeof(size_t)*8; return 0; }
例えば上のようなプログラムでは
/usr/include/libのどのファイル使って実行ファイルを
作成するんでしょうか
できれば調べ方なんか知りたいですが
73:デフォルトの名無しさん
07/11/16 18:00:07
>>72
gcc -v foo.c とか、
ldd 実行ファイル とか
74:デフォルトの名無しさん
07/11/16 19:04:28
>>72
リンカにマップを吐かせると...
75:デフォルトの名無しさん
07/11/17 01:31:03
1つ質問なのですが、ここで良いでしょうか。
OSはFreeBSD6.3-PRERELEASEで、C言語の勉強をしていました。
ソースは酷い有様なのでエラーが多発するのは分かるのですが、
何かいつもと違うメッセージが出まして・・・。
最後の3行が(手書きですが)
cc: Internal error: Segmentation fault: 11 (program ld)
Please submit a full bug report.
See <URL:URLリンク(gcc.gnu.org) for instructions.
と書いてありました。
これってどうしたら良いでしょうか。
放っておけば良いとは思うのですが、気になったものでして。
76:75です
07/11/17 02:44:26
すみません自己解決しました。原因が分かりました。
コマンドを間違えて打っていました。
いつもは
cc -o (実行ファイルの名前) (ソースファイル)
で打っていたのですが今回
cc (実行ファイルの名前) (ソースファイル)
と打ち込んで実行していました。
お騒がせしました。
77:デフォルトの名無しさん
07/11/18 00:09:24
>>69
どうなった?
>>74
マップは関係なくね?
78:デフォルトの名無しさん
07/11/18 10:31:12
大有りだろ
何がリンクされたか一目瞭然じゃん
79:デフォルトの名無しさん
07/11/18 12:19:24
最近の子はマップファイルの出し方も知らんのかね?
80:デフォルトの名無しさん
07/11/18 17:31:38
-pthreadと-lpthreadの違いって何ですか?
個人的には常に後者を使ったほうがわかりやすいと思うんですけど
なんでライブラリなしのオプションがGCCにあるのでしょう?
81:デフォルトの名無しさん
07/11/18 17:39:45
>>80
単にライブラリをリンクするだけじゃ対応できない部分があるので、
gcc的にもちゃんとthreadをサポートしてくれる(かもしれない)オプション。
82:デフォルトの名無しさん
07/11/18 18:31:14
>>80
実際に試してみれば判るけど、若干できたバイナリに違いがあるから
特に指定のない限り-pthreadの方がいいと思われる。
83:デフォルトの名無しさん
07/11/18 18:40:24
HP-UXとか要注意な。infoかソース読んで。
gccはスレッドローカル変数とかあって、
ライブラリに全部頼るわけにいかない部分もあるし。
84:デフォルトの名無しさん
07/11/18 20:23:57
誰も-pthreadについて具体的な事を語らない罠。
ま、infoにも詳しい情報ないししょうがないとは思うがw
85:デフォルトの名無しさん
07/11/18 20:38:29
出来損ないOSではつけないとイカンようですな
86:デフォルトの名無しさん
07/11/18 20:45:18
正直あまり意味のないオプションだからね。今となっては。
#include <pthread.h>と-lpthreadで全て済んでしまう。
87:デフォルトの名無しさん
07/11/18 20:45:45
>>81でFA出てるじゃん。
gcc的にも、というだけじゃなくOS(ライブラリ)的にもだけど。
>>85
gccで-pthreadまたは-pthreadsオプションがあるOSは
Linux, Darwin, *BSD, System V, HP-UX, AIX, Solaris
があるが、これら全て出来損ない? w
88:デフォルトの名無しさん
07/11/18 20:52:13
そうだよ
完璧なOSはWindowsのみ
89:デフォルトの名無しさん
07/11/18 21:11:55
つけてもつけなくても同じ、
と
つけないと正常に動作しない、
は全然違うぞ。
んで、出来ソコナイはどれ?Linuxは違うな。
90:デフォルトの名無しさん
07/11/19 00:14:11
リンカ言うと、変な四角い顔したタレントが思い出されて嫌である。
91:デフォルトの名無しさん
07/11/19 01:30:12
>>87
OSじゃなくてarch依存じゃなかったか。
それと、gccのinfoにはプリプロセサとリンカにマルチスレッドプログラムのコンパイルを行なっていることを伝えるオプションだと書いてあるだけで、実際に何が変化するのかは書いてなくない?
-D_REENTRANTとの関係も教えてくれ。i386のLinuxの話でいいから。
92:デフォルトの名無しさん
07/11/19 01:37:08
具体的に語る人を待とう。
>>87 には無理そうだが。
93:デフォルトの名無しさん
07/11/19 09:38:34
Sunとかのコンパイラの-mtみたいなもんだろ。
94:デフォルトの名無しさん
07/11/19 14:48:55
とうとうここも低能のアホレス来るようになったか。
95:80
07/11/20 11:24:03
おいらの質問で場が荒れたみたいですんませんでした。
レスをくれた人どうも。
とりあえずi386 GNU/LinuxのGCC -pthreadすると
プリプロセサで#define _REENTRANT 1が定義されますね。
あとはリンカで-lpthreadやってるだけなのかなあ。
96:デフォルトの名無しさん
07/11/20 11:28:40
なぜこういうことを聞いたかってのは下の記事
「pkgconfigとlibtoolの悪」
URLリンク(udrepper.livejournal.com)
で、-pthreadしてると-Wl,--as-neededが効かなくなるぞって話です。
で、pkgconfig/*.pcを検索してみたら-pthreadをしてるのはQt関連とgthreadだけ。
だったら、-pthreadを-D_REENTRANT -lpthreadで置き換えられないかなあ
と思って聞いたわけです。
ただ、たとえそうしてもLDFLAGS=-Wl,--as-neededをやるとコンパイルできない
プログラムなんかもあったりして不思議ですが。
97:デフォルトの名無しさん
07/11/20 16:57:23
>>87
Linuxのmanでは「-pthread」はFreeBSD固有のオプションってなってるけど。。。
98:デフォルトの名無しさん
07/11/20 19:09:19
>>97
偏屈なmanだな。
OSXでman gccしたらRS/6000andPowerPCのオプションに書いてあるな。
i386にはないんだろうか。
99:デフォルトの名無しさん
07/11/20 19:56:01
>>98
Fedora 8に入ってるmanを見てみました。
gcc-4.1.2のマニュアルだと、
IA-64 Option, RS/6000 and PowerPC Options, SPARC Options
に書いてあります。
FreeBSD固有って書いてあるのは、Linux日本語manだけど、gcc-2.95.3の翻訳だから今となっては古い。
100:デフォルトの名無しさん
07/11/21 00:06:24
freebsdのスレッド対応ってまともになったん?まだグダグダ?
101:デフォルトの名無しさん
07/11/21 13:55:08
まともだよ。
ただGPLがらみでgcc止めるとか言い出している人いるから、
また諸々ぐだぐだになるかも。
102:デフォルトの名無しさん
07/11/21 21:43:37
なぁ、Linux上でGCC4を使っています。コンパイルしたアプリケーション中、
各モジュールがどう構成されているのかを知りたいのだけどどうすれば
いいのかな。知りたいのは以下の通り
読み取り専用データサイズ(コード+定数)
読み書き可能なデータサイズ
ゼロクリアされるデータサイズ
また動作しているアプリケーションのメモリ中、共有ライブラリが
使用しているメモリサイズ、ヒープ領域のサイズ、スタック領域のサイズ
も知りたいのだけど。どうしたらええんかな。
103:デフォルトの名無しさん
07/11/21 21:54:00
$ size a.out
$ lsof -p PID
じゃダメか?
ライブラリの使っているメモリの区分ってのは難しいな。
テキスト領域しか分からない。
別のヒープ、スタック使ってるわけじゃないから。
スタックについては、debuggerが頑張れば追跡可能だろうけども。
104:デフォルトの名無しさん
07/11/21 21:55:39
/proc ?
gccのネタ関係なry
105:デフォルトの名無しさん
07/11/21 22:12:48
>>103
ありがとう!sizeがまさに欲しかったものでした。
106:デフォルトの名無しさん
07/11/21 22:25:29
-=-::.
/ \:\
.| ミ:::|
ミ|_≡=、´ `, ≡=_、 |;/
||. ◎ .| ̄|. ◎ |─/ヽ 我は成大作・姜尚中・張勲・郭光雄・成田豊・辛格浩・盧勝正公認
|ヽ二/ \二/ ∂> 恨憎貶日創価高麗大使である。お前が立てたスレッドをグレート
/. ハ - −ハ |_/ コリアレスリングエンターテインメントワイドショースレッドとして認定する。
| ヽ/ヽ/\_ノ / |
. \、 ヽ二二/ヽ / /
. \i ___ /_/
___
/ ?\ ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウ
/ノ (@)\ ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョウホウレンゲッキ
.| (@) ⌒)\ ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョウホウレンゲッ
.| (__ノ ̄| | ///;ト, ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョ
\ |_/ / ////゙l゙l; ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョ
\ _ノ l .i .! | ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョ
/´ `\ │ | .| ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョ
| >>1 | { .ノ.ノ ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョ
| |../ / . ナンミョウホウレンゲッキョウナンミョウホウレンゲッキョウナンミョウ
107:デフォルトの名無しさん
07/11/21 23:38:06
>>105
共有ライブラリ云々は、.soをsizeすればいい。
が、sizeで出力されるtextサイズには.rodataセクションのサイズは含まれていないと思う。そっちはreadelfかな。
あと、sizeじゃヒープとスタックのサイズもわからんだろう。それはいいのか?
簡単なのは、 /proc/pid/maps 見るとかかな。粒度荒いけど。
108:デフォルトの名無しさん
07/11/22 05:24:07
sizeで情報が足りなかったらldにmapfile吐かせれば大抵間にあうだろ。
109:デフォルトの名無しさん
07/11/23 00:40:26
kwsk
出力付きでな。
110:デフォルトの名無しさん
07/11/25 23:06:34
群馬のGCCの池田には散々嫌がらせをされたなー。
あの野郎あったら確実に・・・
まーここのスレとは関係ないが。
111:デフォルトの名無しさん
07/11/28 02:40:36
あんま関係ないけど、gcc-4.1.2とicc-10.1のO3同士の比較があったから。
URLリンク(www.anandtech.com)
4.1でこれなら4.2,4.3と結構速くなっきているから結構いい線いってんのかな?
まぁまだvectorizeはちょっと信頼性の部分で弱そうだけどね。。。
112:デフォルトの名無しさん
07/11/28 06:54:45
>>111
>4.1でこれなら4.2,4.3と結構速くなっきているから結構いい線いってんのかな?
それはダウト
少なくとも4.2ではかなり遅くなった
4.3では性能向上…のはずが、いつのまにかパッとしない性能で仕上がっちゃってる
確かにvectorizeはどうもね…バグがまだ潰しきれてない感じ
113:デフォルトの名無しさん
07/11/28 08:07:28
C++派の俺から観ると、4.3は非常によろしいんだけど、
C数値計算はたまらんでしょうな。
114:デフォルトの名無しさん
07/11/28 10:34:28
4.3は4.2と同様、4.1よりはかなり性能悪くなってた
でもメーリングリストではコードの信頼性が上がるなら
性能などいくらでも落ちてよいって流れだったから
これからも性能は悪化し続けそう
115:デフォルトの名無しさん
07/11/28 14:00:28
>>114
URLリンク(www.suse.de) ではいい傾向になってるし
自分で試してもよくなった部分もあるんだけどな。
多分112と同じ人と思うけど、どこかuriポイントしてください。
116:デフォルトの名無しさん
07/11/28 14:07:52
数値計算する場合は細かなチューニングよりもGOMP使ってくださいサーセンwwww
ってところじゃないのかな。
117:デフォルトの名無しさん
07/11/28 14:21:29
URLリンク(gcc.gnu.org)
118:デフォルトの名無しさん
07/11/28 14:23:59
もしかして1コードだけのregressionで判断してるのか。
119:デフォルトの名無しさん
07/11/28 14:27:47
いや最近期待できない方向に進んでるみたいだから悲観的になってるだけ
120:デフォルトの名無しさん
07/11/28 16:56:46
GOMPで思い出したが、ゴンプ言うな。
121:デフォルトの名無しさん
07/11/28 17:00:51
>>119
>>118への答えになってないじゃないか。
122:デフォルトの名無しさん
07/11/28 17:05:25
判断してるってことだよ
123:anonymous
07/11/28 17:27:05
以前このスレにgcc-2.95が最高で、以後はクソとひたすら叫んでいるヤシがいたけど、
そいつがまだ粘着しておるのか?
124:デフォルトの名無しさん
07/11/28 17:32:52
違うよ
その人は実行速度のことは気にしてないんじゃなかった?
125:デフォルトの名無しさん
07/11/28 17:49:00
コンパイル速度を気にしている人はいたな。
俺はC++の標準準拠最優先だから、人それぞれって事で。
126:デフォルトの名無しさん
07/11/28 22:29:32
もっとベンチ結果無いかな
127:デフォルトの名無しさん
07/11/28 22:40:30
俺はコンパイル速度よりもコンパイル後の実効速度さえ速ければいいや。
128:デフォルトの名無しさん
07/11/29 10:30:05
gcc4.2.0をインストールしようと思っているのですが、
configureしてmakeすると、parse-scan.cが見つからないと出てしまい、
それはネットで拾ってきて入れたら、通ったのですが、今度は
java/jv-scan.o: In function `main':
../.././gcc/java/jv-scan.c:221: undefined reference to `main_input_filename'
と出て、その解決方法がわかりません。そのchar*型変数自体はgcc/toplev.cに宣言されているので、
toplev.hにextern宣言して、jv-scan.cに明示的にインクルードしてみたんですが、それでもダメです。
この解決方法や解決案について誰か教えてください。
SuSE Linux 10.1です。
129:デフォルトの名無しさん
07/11/29 10:47:05
parse-scan.cはparse-scan.yから作られます。
bisonがinstallされてないと生成できません。
・エラーメッセージをちゃんと読んでない
・かなり無茶をしている
・既にそのbuild環境はダーティ
なので、冷静になって初めからやり直してください。
SuSEなら何の問題もなく作成できると思います。
130:デフォルトの名無しさん
07/11/29 20:03:13
>>129
ご回答どうもありがとうございました^^)
bisonをインストールしたら、gccも無事にビルド出来ました!
P4 1.8GHzでmakeに4時間もかかったよママン
131:デフォルトの名無しさん
07/11/29 23:53:12
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
gccは2.95が最高、以後はクソ
132:デフォルトの名無しさん
07/11/30 00:30:07
俺もそう思っていたけど、2.95 が手元の環境でビルド出来なくなっていて驚いた。
133:デフォルトの名無しさん
07/11/30 01:58:04
flexやbisonがなくてもconfigureに成功してしまうのは、
何かの陰謀なのかねえ
134:デフォルトの名無しさん
07/11/30 07:21:50
x86_64に対応してればなんでもいいよ
135:デフォルトの名無しさん
07/12/01 23:27:43
オアーオアーオアオアオアー
136:デフォルトの名無しさん
07/12/05 08:18:57
gcc、お呼びgcc javaについて理解できないのですが助言お願いします。
情報を求めてwiki等を見回っていると、
gcc javaはネイティブなコードを出力するとあります。
これはVM上で動作するバイトコードではなく、マシンで直接動作するバイナリコードという事でしょうか?
又、gccの言語間の関数、クラス等の呼出は可能でしょうか。
137:デフォルトの名無しさん
07/12/05 11:38:51
>>136
ネイティヴコードってのはそういうこと.gcjは以下の変換ができる.
- Javaソースコード→プラットフォームのネイティブコード
- Javaソースコード→Java クラスファイル
- Java クラスファイル→プラットフォームのネイティブコード
>又、gccの言語間の関数、クラス等の呼出は可能でしょうか。
gcj の場合はJNIかCNIのいずれかの規約にしたがってのみCやC++のAPIを呼びだせる.
138:デフォルトの名無しさん
07/12/05 11:55:00
Sunのオープンソースになったクラスライブラリも
ずいぶんとgcjでコンパイルできるようになってきたね。
139:デフォルトの名無しさん
07/12/05 12:04:01
gcjはネイティブコードと言ってもCほど速くないのが何とも。
140:デフォルトの名無しさん
07/12/05 14:02:16
766 名前:●テヘ権田●[sage] 投稿日:2007/12/04(火) 23:29:39 ID:YtCMOwpP
> gcc自体はC2D用とかそういうチューニングはしてなくて
いやそうじゃなくてコードが腐ってるんだよ、コンパイル時間が遅いのもそのせいw
スレリンク(jisaku板:766番)
141:デフォルトの名無しさん
07/12/05 16:33:48
アルゴリズムによってはVM方式のほうが速い場合なんていくらでもあるだろう
JavaなんてC++で言うところのRTTIを使いまくりなんだしさあ。
ハゲがC++をvirtual宣言してないとオーバーライドできない糞仕様にしたのも
パフォーマンスの問題があるからでしょ(つまり糞仕様じゃないってことなんだけど)
142:デフォルトの名無しさん
07/12/05 23:15:50
virtualでオーバーロードしたら遅くなるのは自分で設計してみりゃ脳内ですぐ気付く問題
143:デフォルトの名無しさん
07/12/05 23:55:27
>>142
vtbl経由するコストだけで、オーバーロードは関係ないだろ。
144:デフォルトの名無しさん
07/12/06 09:11:10
オーバーライドと混同したって話だろうな
145:デフォルトの名無しさん
07/12/16 13:29:49
#include <sstream>
#include <string>
using namespace std;
int main(void){
stringstream ss;
string str;
ss.str("test1 test2 test3");
// ss >> str; //←この行のコメントを外すと、コンパイルは通るが実行するとセグメンテーションフォルト
return 0;
}
>gcc --version
2.96
バグですか?
146:デフォルトの名無しさん
07/12/16 13:42:22
>>145
バージョンが古すぎて調べる気にもならん。
147:デフォルトの名無しさん
07/12/16 13:58:44
(´・ω・`)
管理者に言ってバージョンあげてもらいます。
148:デフォルトの名無しさん
07/12/16 17:39:35
cygwin版gcc 4.0まだー?
149:デフォルトの名無しさん
07/12/19 00:32:39
古いものなら何でもかんでも安定する!とか言って、単に今ある最新版から
テキトーにマイナス3くらいしたバグだらけの古いもの採用するVine Linuxとかある
本当に実績のあるものを選んでいるわけではなく、まさにテキトー。
最強バグ版のGCC4.0.2採用しているあたり実績で見てるわけじゃない
150:デフォルトの名無しさん
07/12/19 19:42:19
この板で鳥の話出す馬鹿
151:デフォルトの名無しさん
07/12/20 15:00:05
スレ違いだったらすみません。
GCCでコンパイル時と別のコンパイラでコンパイル時とを
#ifで分けたいのですが、GCCでコンパイル時必ずdefineされる
マクロってありますか?
152:デフォルトの名無しさん
07/12/20 15:09:19
__GNU__?
153:デフォルトの名無しさん
07/12/20 15:19:01
__GNUC__
__GNUC_MINOR__
__GNUC_PATCHLEVEL__
154:デフォルトの名無しさん
07/12/20 15:21:44
#if defined( __GNUC__ )
#if ( __GNUC__ >= 4 )
かな
155:デフォルトの名無しさん
07/12/20 22:11:00
>>152
>>153
>>154
ありがとうございました。助かりました。
156:デフォルトの名無しさん
07/12/23 01:06:10
IntelのCコンパイラだとデフォルトでは>>153をdefineしている(オプションで変更可)
特殊かもしれんが
157:デフォルトの名無しさん
07/12/23 04:28:24
RHLE version3 のサポートが終了してしまうので、
gcc 2.9.6
gcc 3.2.3
から、
RELE version5のgcc 4..xに変更したんだけど、コードの修正メンドくせー、
互換性無いのって悲しいね。
158:デフォルトの名無しさん
07/12/23 09:31:31
×互換性が無い
○コードが汚い
ザルだった文法チェックに救われていただけ
159:デフォルトの名無しさん
07/12/23 10:01:11
普通に書いていれば修正なんてほとんど要らんだろ
160:デフォルトの名無しさん
07/12/23 10:36:37
>>157じゃないが、
Cだとgccの移行は簡単だけど、C++だと悲惨。
2->4なんて。
コンパイルエラー/ウォーニングになるのはいいけど、
コンパイラが検出できない奴など。
例えばlookupのルール変更とか。
ADLは便利だけど、難しいから。
161:デフォルトの名無しさん
07/12/23 17:53:45
>>160
馬鹿コーディングだから移行が難しいんだよ。
俺も新人だった頃の自分のコードを呪ったよ。
きちんとしたコードはすぐ移行できた。
162:157
07/12/23 23:53:40
確かにコードが汚いことが原因で
トークンの連結
型(int -> bool)
プロトタイプ宣言
関係が9割超
163:デフォルトの名無しさん
07/12/30 00:12:03
precompiled headerって全然流行らないね。信用できるのこの機能
164:デフォルトの名無しさん
07/12/30 00:37:49
意外と使われてるのに…
165:デフォルトの名無しさん
08/01/07 09:31:10
URLリンク(gcc.gnu.org)
バグ潰し終わらねー感じ
使ってみてもICEとかc++のスコープとか色々おかしい印象がある
開発者がんばってくれー
166:デフォルトの名無しさん
08/01/08 02:18:54
>>165
mudflapというオプションを初めて知った。 ひで〜ネーミングだな。
167:デフォルトの名無しさん
08/01/15 18:42:33
速度云々を無視しよう
という条件下だと、fPICって常に付与してていいもんなのか?
168:デフォルトの名無しさん
08/01/15 23:54:54
gcc(3.4)でSJISファイルのコンパイルでうまくいかないので、ご教授いただけたらと思います。
> cat a.c
#include "stdio.h"
#define AAA(a) BBB(#a)
void BBB(char *str) {
printf("%s\n", str);
}
int main() {
AAA(あ"い");
BBB("あ\"い\"");
}
> gcc --input-charset=cp932 --exec-charset=cp932 a.c
> a.out
あ"磚
あ"い"
AAAの方とBBBの方で両方同じ結果が得られそうなのですが、
AAAの方でうまくいっていないのを解決したいと思っています。
ここでは標準出力していますが、内部文字コードはSJISのまま解決したいと思っています。
よろしくお願いいたします。
169:デフォルトの名無しさん
08/01/16 08:04:12
CスレでGCCの範囲だから、すれ違いと言われてここに来ました。
URLリンク(homepage2.nifty.com)
のサイトにある、complex.hを読んでいるんですが、
gccでマクロを展開してここのソースを読むと、
/* setjmp(cjmpenv)の返却値 */
#define C_DIVIDE_BY_ZERO 1 /* 0で除算しようとした */
#define C_ARG_ZERO 2 /* 0の角度を求めようとした */
略
#endif
#if __GNUC__==2
#define complex __complex__
#define Re(z) (__real__ (z))
#define Im(z) (__imag__ (z))
#else
typedef struct {
double re;
double im;
} complex;
などごっそり書いてあった部分が、
/* setjmp(cjmpenv)の返却値 */
# 24 "complex.h"
typedef struct {
double re;
double im;
} complex;
# 77 "complex.h"
/* xの実数部にsを加える */
# 89 "complex.h"
/* xの虚数部にsを加える */
と、# 24 "complex.h"や# 77 "complex.h"などに置き換えられているようです。
この#24や#77はどういう意味なのでしょうか?
170:デフォルトの名無しさん
08/01/16 08:25:47
>>168
3.4では化けるね
4.2.2だと化けなかった
171:デフォルトの名無しさん
08/01/16 08:26:18
それと、
「複素数値を持つ式 exp から実数部を抽出するには、
__real__ exp と書きます。同様に、虚数部を抽出するには __imag__ を使います。これはGCCの拡張である。」
とあり、printf("b=%d + %d I¥n", __real__ exp, __imag__ exp); で複素数表示出るのですが、
コレは__real__ という関数名なのでしょうか?
でも関数だと( )が必要だし....
そもそも__みたいな変な名前のマクロをどういう意図で作ったのでしょうか?
complex.hを見ても良くわかりませんでした。
__のような物がつくプログラムを見たのが初めてで、非常に理解に苦しんでいます。
172:デフォルトの名無しさん
08/01/16 11:22:26
>>169
マクロ展開前の行番号。コンパイル時にエラー行を表示するためにそう
いう情報を残す必要がある。
>>171
sizeof と同じような形式の演算子だと思えばいいんじゃない?
__は単に名前の一部。
173:デフォルトの名無しさん
08/01/16 12:18:35
普通の名前と喧嘩しないように __ を付けるのは慣例
174:デフォルトの名無しさん
08/01/16 12:25:52
慣例じゃなくて予約されているんだが
175:デフォルトの名無しさん
08/01/16 12:42:41
>>172,173,174
お返事有り難うございます。
>普通の名前と喧嘩しないように __ を付けるのは慣例
>慣例じゃなくて予約されているんだが
確かに__って普通の変数には付けないですからね。
どうも有り難うございました。
176:デフォルトの名無しさん
08/01/16 13:09:02
あ失礼,そうだった.<慣例
177:デフォルトの名無しさん
08/01/16 13:10:14
書き方おかしかった.<慣例,じゃなくて<予約
スレ汚しすまん
178:デフォルトの名無しさん
08/01/17 01:56:01
gdb+gccなんですがクロスコンパイルしてます。
Aでコンパイル
Bで実行。
Bで、はいたコアダンプを冢ってgdbを使いたい場合は
Aでmakefile(自動生成)使ってまっす。
どうしたら、ディレクトリ構造とか再現してソース追っかけながらデバッグできますか?
makefileに答え有りますか?
179:デフォルトの名無しさん
08/01/17 02:03:30
Bで、はいたコアダンプを冢ってgdbを使いたい場合はどうしたら良いですか?
文が変だた
180:デフォルトの名無しさん
08/01/17 02:04:18
>>178
Bでgdbserver走らせるのが一番楽じゃない?
181:デフォルトの名無しさん
08/01/17 02:08:28
>>180
おとなの事情というか会社の事情で無理なんです
182:181
08/01/17 02:30:08
少し確認ですが
Aにもgdbserverがデーモンのように動く必要ありますか?
Bにも同じgdbserverが必要ですよね?
Aで負荷高くなりそうですね
183:デフォルトの名無しさん
08/01/17 03:33:23
>>180
あ、ごめん、コアの話しか。 そういう機能はgdbserverにはないね。
184:デフォルトの名無しさん
08/01/17 16:43:02
だめだ。
__real__って何なんだ?
関数ではないしcomplex.hにも定義されていない。
gcc機能拡張ってのがよくまずわからない。
特殊な演算子なんですか?
185:デフォルトの名無しさん
08/01/17 16:50:58
>>184
わからないなら自前の構造体定義すれば?
186:デフォルトの名無しさん
08/01/17 17:06:00
>>184
何をわかる必要があるというんだろう。sizeof だってどこかのヘッダで
定義してあるわけじゃないけど使えるでしょ?
infoの説明はこれだけしかないけど、これで十分つかえるじゃないか。
> To extract the real part of a complex-valued expression EXP, write
> `__real__ EXP'. Likewise, use `__imag__' to extract the imaginary
> part.
187:デフォルトの名無しさん
08/01/17 17:06:53
>>184
URLリンク(www.asahi-net.or.jp)
188:デフォルトの名無しさん
08/01/23 22:06:35
URLリンク(gcc.gnu.org)
GCC 4.3 もリリースモードへ突入
189:デフォルトの名無しさん
08/01/26 10:38:15
みんなGDBを使ってデバッグしてるの?
それともprintf?
190:デフォルトの名無しさん
08/01/26 12:07:11
うかつに手を出せないところはInsight使ってるけど
printfの方が早いな
191:デフォルトの名無しさん
08/01/26 15:55:53
printfで場所を大まかに限定してソースとにらめっこ
ドコでも使えて簡単だから…
192:デフォルトの名無しさん
08/01/26 16:15:01
んで core 吐いたら gdb
193:デフォルトの名無しさん
08/01/26 18:11:31
printfってプログラム埋め込み?
debuggerのbreakpointsでprintfするんじゃなくて?
埋め込みなんてここ5年くらいやったことないわ。
194:デフォルトの名無しさん
08/01/26 19:12:44
デバッグトレースした方が便利な事もあるぜ。
195:デフォルトの名無しさん
08/01/27 01:52:18
デバッグトレースって何さ
196:デフォルトの名無しさん
08/01/27 02:09:06
デバッグ時のみ文字列出力。
197:デフォルトの名無しさん
08/01/27 02:13:55
社内用語乙。
198:デフォルトの名無しさん
08/01/27 02:22:41
デバッグトレース の検索結果 約 3,320 件
199:デフォルトの名無しさん
08/01/27 13:40:49
でもまー、ふつー「バックトレース」
200:デフォルトの名無しさん
08/01/27 13:43:31
違った。
つか「デバッグトレース」って、デバッグ目的のトレース実行とか、
呼び出し順の出力のことじゃね?
201:デフォルトの名無しさん
08/01/27 14:10:36
「光ファイバーチャネル」みたいなもんだな。
202:デフォルトの名無しさん
08/01/27 15:47:47
TRACE(_T("Debug trace\n"));
203:デフォルトの名無しさん
08/01/27 18:41:45
>>202
それなんですか?
204:デフォルトの名無しさん
08/01/27 18:44:02
MFC だな
205:デフォルトの名無しさん
08/01/27 18:44:42
MFCって、GCCで使えるんですか?
206:デフォルトの名無しさん
08/01/27 18:44:58
mingw で使えるんじゃね?
207:デフォルトの名無しさん
08/01/27 18:47:27
お前ら、4.3の話でもしようぜ
208:デフォルトの名無しさん
08/01/31 08:26:24
とりあえず「ミングダブリュー」って言うな。
209:デフォルトの名無しさん
08/01/31 08:33:44
明w
210:デフォルトの名無しさん
08/01/31 14:46:43
ミングダブリューさんじゅうにって読んでた
ミンジーダブリュー?
211:デフォルトの名無しさん
08/01/31 14:54:59
ミンジーダブリューって読んでた
212:デフォルトの名無しさん
08/01/31 15:57:19
ミングウだろ・・・常識的に考えて・・・
213:デフォルトの名無しさん
08/01/31 16:07:33
Wikipedia項目リンク
>MinGWの規範となる発音は未だ決定されていないが、一般的には、
>"ming wee", "min gee double-u","ming double-u" or "min gnu"
>などのように発音されている。
いい加減なもんだよな…
214:デフォルトの名無しさん
08/01/31 18:00:39
みんな MinGW の読み方には苦労してんのね
215:デフォルトの名無しさん
08/01/31 18:10:40
みんぐぅ
216:デフォルトの名無しさん
08/01/31 19:56:54
ミンジーダブリューだろ・・・常識的に考えて・・・
217:デフォルトの名無しさん
08/01/31 20:09:07
ゴールデンウィーク最小
218:デフォルトの名無しさん
08/01/31 22:15:04
みんぐうぃん
219:デフォルトの名無しさん
08/01/31 22:19:04
エムアイエヌジーダブリューだろ・・・常識的に考えて・・・
220:デフォルトの名無しさん
08/02/01 00:27:13
そういやいつからMingwinからMinGWになったん?
前は「みんぐぃん」て発音できたが今のは悩む・・・
221:デフォルトの名無しさん
08/02/01 00:55:58
つまり
みにまりすとぬーふぉーういんどーず
と読むと?
222:デフォルトの名無しさん
08/02/01 00:57:21
マゾ イン ゴールド ウォーターって読んでたわ・・・
223:デフォルトの名無しさん
08/02/01 06:29:39
MGW
224:デフォルトの名無しさん
08/02/01 07:54:17
みんぐw
225:デフォルトの名無しさん
08/02/01 09:09:52
ゴールデンウィークが最小限な事。
また、それを嘆くさま。
226:デフォルトの名無しさん
08/02/01 16:20:09
みんぐー
227:デフォルトの名無しさん
08/02/01 17:30:48
お前ら、4.3の話でもしようぜ
228:デフォルトの名無しさん
08/02/01 19:12:49
今年度中にリリースされる?
229:デフォルトの名無しさん
08/02/02 10:21:55
February 1, 2008
GCC 4.2.3 has been released.
230:デフォルトの名無しさん
08/02/03 23:00:40
すいません.質問させてください.
GCC のソースコードを読み解いて理解したいと思っているのですが,
手始めに,あるいはコードを解読する際のガイドとして読んでおくべき
書籍あるいはサイトで,有用なものとしてはどんなものがありますでしょうか?
英語でもまったくかまいません.
一応,自分が読んで理解したい部分は
C++ コンパイラの字句・構文解析部 (フロントエンド部と呼ぶようですけれど) です.
231:デフォルトの名無しさん
08/02/03 23:47:28
茨の道じゃろうて・・・
コンパイラを作りたいか?カスタマイズしたいのか?
232:デフォルトの名無しさん
08/02/03 23:54:56
GCCのすぱげっち読むよりはもうちょっとマシなものありそうだけど。
233:230
08/02/04 01:04:00
>>231
茨の道なのは重々承知のつもりでお聞きしています.
動機は最終的にはカスタマイズですけれど,
純粋に GCC の挙動を理解するだけでも得るものはあるかとは思っています.
234:デフォルトの名無しさん
08/02/04 01:55:12
#pragma once
は今でも非推奨ですか?
235:デフォルトの名無しさん
08/02/04 02:00:16
>>230,233
最終目標がGCCのカスタマイズなら、最初からGCCのソースを追えばいいかもね。
コンパイラの作り方を知りたいなら、ソースから読むのは学習効率が悪い。
ついでに、GCCはスパゲティだし大きいしで選択肢としても良くない。
もしまだ知らないなら、古典のdragon bookを読むとか、flex & bisonを触るとか
その辺からでは。最近の事情はわからんので、もっと手っ取り早い方法があるかも。
もしかして、GCCの最適化エンジンとかプロセッサ対応とかのバックエンド側を
いじりたいんではなく、フロントエンド側(入力言語)を拡張したいん?
GCCのドキュメントのどこかに一通り書いてありそうだが、漏れは知らんわ。すまん。
GENERICやGIMPLEを探ればいいんかな。
236:230
08/02/04 02:13:34
>>235
非常に参考になる意見ありがとうございます.
>もしまだ知らないなら、古典のdragon bookを読むとか、flex & bisonを触るとか
dragon book は持ってはいますが気合入れて読んだことがなかったです.頑張って精読します.
flex & bison も玩具程度の弄り方しか試してなかったので,ちょっと本気で触ってみます.
>もしかして、GCCの最適化エンジンとかプロセッサ対応とかのバックエンド側を
>いじりたいんではなく、フロントエンド側(入力言語)を拡張したいん?
はい,バックエンド側には今のところほとんど興味がありません.
最終的な目標はフロントエンド側 (入力言語……といいますか C++) の拡張です.
ただ,これはあくまで最終的な目標として設定しているだけです.
237:デフォルトの名無しさん
08/02/04 02:42:19
なんかそういうプロジェクトをどこかで見たような
gccじゃなくて
238:デフォルトの名無しさん
08/02/04 02:56:44
LLVM?
239:デフォルトの名無しさん
08/02/04 11:11:06
>>237
> なんかそういうプロジェクトをどこかで見たような
> gccじゃなくて
COINS?
240:デフォルトの名無しさん
08/02/04 11:24:34
入力言語をC++に変換するプリプリプロセッサを作るのが簡単のような
241:デフォルトの名無しさん
08/02/04 13:41:11
NVIDIAのCUDAのコンパイラ(nvcc)が内部でgcc使っているみたいだ。
つまり、拡張仕様の入力から独自仕様の出力を得ている模様。
242:デフォルトの名無しさん
08/02/04 15:55:42
Cell 用の spu-gcc もかなり弄ってるみたい
243:デフォルトの名無しさん
08/02/04 16:55:04
>>236
まずyacc & bisonの勉強
次に URLリンク(gcc.gnu.org) , GCC-specific Literature
特にtoy example languageとRTL
C++拡張ということならOpenC++ (今はもう更新してないみたいだが)
244:230
08/02/04 20:11:15
GCC を弄る先例として色々見る価値のあるプロジェクトはあるみたいですね.
>>240
構文チェックなどについては GCC に実装されている部分を流用し,
interact させたいので,独立した preprocessing は今のところ考えていないです.
>>243
色々助言していただいて本当に助かります.
245:デフォルトの名無しさん
08/02/05 01:21:21
質問させてください。
wxWidetsっていうのを使ってプログラミングしてるんですが、
g++ -o hello2 hello2.o `wx-config --libs`
みたいにやると
/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
って言われてしまい、コンパイルできません。何がいかんのでしょう??
これだけだと分からないと言われそうなのですが、ソースがちょっと長いので・・
でも参考サイトの指示通りに書いた簡単なプログラムなので、ソースじゃなくて何か基本的な設定とかが間違ってるんじゃないかと思ってここに来ました。
OSはubuntu7.1.0です。他のプログラムならコンパイル出来ている状態です。(やはりソースが間違ってるんでしょうか・・)
どなたかアドバイス頂けると幸いです。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5040日前に更新/147 KB
担当:undef