1 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 00:07:39 ] 史上最強かもしれないツール、GCC(GNU Compiler Collection)について語るスレ。 GNU本家のGCCページ gcc.gnu.org/ Binutils - Collection of binary utilities ←これも必要だぞ。 www.gnu.org/directory/GNU/binutils.html GNU Binutils sources.redhat.com/binutils/ GCC online documentation gcc.gnu.org/onlinedocs/ Installing GCC gcc.gnu.org/install/ GCC Timeline gcc.gnu.org/releases.html#timeline Calendar gcc.gnu.org/develop.html#timeline 前スレ GCCについて part7 pc11.2ch.net/test/read.cgi/tech/1145357824/l50
182 名前:181 [2008/01/17(木) 02:30:08 ] 少し確認ですが Aにもgdbserverがデーモンのように動く必要ありますか? Bにも同じgdbserverが必要ですよね? Aで負荷高くなりそうですね
183 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 03:33:23 ] >>180 あ、ごめん、コアの話しか。 そういう機能はgdbserverにはないね。
184 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 16:43:02 ] だめだ。 __real__って何なんだ? 関数ではないしcomplex.hにも定義されていない。 gcc機能拡張ってのがよくまずわからない。 特殊な演算子なんですか?
185 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 16:50:58 ] >>184 わからないなら自前の構造体定義すれば?
186 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 17:06:53 ] >>184 www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_4.html#SEC72
188 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 22:06:35 ] ttp://gcc.gnu.org/ml/gcc/2008-01/msg00387.html GCC 4.3 もリリースモードへ突入
189 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 10:38:15 ] みんなGDBを使ってデバッグしてるの? それともprintf?
190 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 12:07:11 ] うかつに手を出せないところはInsight使ってるけど printfの方が早いな
191 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 15:55:53 ] printfで場所を大まかに限定してソースとにらめっこ ドコでも使えて簡単だから…
192 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 16:15:01 ] んで core 吐いたら gdb
193 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:11:31 ] printfってプログラム埋め込み? debuggerのbreakpointsでprintfするんじゃなくて? 埋め込みなんてここ5年くらいやったことないわ。
194 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:12:44 ] デバッグトレースした方が便利な事もあるぜ。
195 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:52:18 ] デバッグトレースって何さ
196 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 02:09:06 ] デバッグ時のみ文字列出力。
197 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 02:13:55 ] 社内用語乙。
198 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 02:22:41 ] デバッグトレース の検索結果 約 3,320 件
199 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:40:49 ] でもまー、ふつー「バックトレース」
200 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:43:31 ] 違った。 つか「デバッグトレース」って、デバッグ目的のトレース実行とか、 呼び出し順の出力のことじゃね?
201 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 14:10:36 ] 「光ファイバーチャネル」みたいなもんだな。
202 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 15:47:47 ] TRACE(_T("Debug trace\n"));
203 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:41:45 ] >>202 それなんですか?
204 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:44:02 ] MFC だな
205 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:44:42 ] MFCって、GCCで使えるんですか?
206 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:44:58 ] mingw で使えるんじゃね?
207 名前:デフォルトの名無しさん [2008/01/27(日) 18:47:27 ] お前ら、4.3の話でもしようぜ
208 名前:デフォルトの名無しさん [2008/01/31(木) 08:26:24 ] とりあえず「ミングダブリュー」って言うな。
209 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 08:33:44 ] 明w
210 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 14:46:43 ] ミングダブリューさんじゅうにって読んでた ミンジーダブリュー?
211 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 14:54:59 ] ミンジーダブリューって読んでた
212 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 15:57:19 ] ミングウだろ・・・常識的に考えて・・・
213 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 16:07:33 ] ja.wikipedia.org/wiki/MinGW >MinGWの規範となる発音は未だ決定されていないが、一般的には、 >"ming wee", "min gee double-u","ming double-u" or "min gnu" >などのように発音されている。 いい加減なもんだよな…
214 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:00:39 ] みんな MinGW の読み方には苦労してんのね
215 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 18:10:40 ] みんぐぅ
216 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:56:54 ] ミンジーダブリューだろ・・・常識的に考えて・・・
217 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 20:09:07 ] ゴールデンウィーク最小
218 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:15:04 ] みんぐうぃん
219 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:19:04 ] エムアイエヌジーダブリューだろ・・・常識的に考えて・・・
220 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:27:13 ] そういやいつからMingwinからMinGWになったん? 前は「みんぐぃん」て発音できたが今のは悩む・・・
221 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:55:58 ] つまり みにまりすとぬーふぉーういんどーず と読むと?
222 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:57:21 ] マゾ イン ゴールド ウォーターって読んでたわ・・・
223 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 06:29:39 ] MGW
224 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 07:54:17 ] みんぐw
225 名前:デフォルトの名無しさん [2008/02/01(金) 09:09:52 ] ゴールデンウィークが最小限な事。 また、それを嘆くさま。
226 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:20:09 ] みんぐー
227 名前:デフォルトの名無しさん [2008/02/01(金) 17:30:48 ] お前ら、4.3の話でもしようぜ
228 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:12:49 ] 今年度中にリリースされる?
229 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 10:21:55 ] February 1, 2008 GCC 4.2.3 has been released.
230 名前:デフォルトの名無しさん [2008/02/03(日) 23:00:40 ] すいません.質問させてください. GCC のソースコードを読み解いて理解したいと思っているのですが, 手始めに,あるいはコードを解読する際のガイドとして読んでおくべき 書籍あるいはサイトで,有用なものとしてはどんなものがありますでしょうか? 英語でもまったくかまいません. 一応,自分が読んで理解したい部分は C++ コンパイラの字句・構文解析部 (フロントエンド部と呼ぶようですけれど) です.
231 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:47:28 ] 茨の道じゃろうて・・・ コンパイラを作りたいか?カスタマイズしたいのか?
232 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:54:56 ] GCCのすぱげっち読むよりはもうちょっとマシなものありそうだけど。
233 名前:230 mailto:sage [2008/02/04(月) 01:04:00 ] >>231 茨の道なのは重々承知のつもりでお聞きしています. 動機は最終的にはカスタマイズですけれど, 純粋に GCC の挙動を理解するだけでも得るものはあるかとは思っています.
234 名前:デフォルトの名無しさん [2008/02/04(月) 01:55:12 ] #pragma once は今でも非推奨ですか?
235 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 02:00:16 ] >>230 ,233 最終目標がGCCのカスタマイズなら、最初からGCCのソースを追えばいいかもね。 コンパイラの作り方を知りたいなら、ソースから読むのは学習効率が悪い。 ついでに、GCCはスパゲティだし大きいしで選択肢としても良くない。 もしまだ知らないなら、古典のdragon bookを読むとか、flex & bisonを触るとか その辺からでは。最近の事情はわからんので、もっと手っ取り早い方法があるかも。 もしかして、GCCの最適化エンジンとかプロセッサ対応とかのバックエンド側を いじりたいんではなく、フロントエンド側(入力言語)を拡張したいん? GCCのドキュメントのどこかに一通り書いてありそうだが、漏れは知らんわ。すまん。 GENERICやGIMPLEを探ればいいんかな。
236 名前:230 mailto:sage [2008/02/04(月) 02:13:34 ] >>235 非常に参考になる意見ありがとうございます. >もしまだ知らないなら、古典のdragon bookを読むとか、flex & bisonを触るとか dragon book は持ってはいますが気合入れて読んだことがなかったです.頑張って精読します. flex & bison も玩具程度の弄り方しか試してなかったので,ちょっと本気で触ってみます. >もしかして、GCCの最適化エンジンとかプロセッサ対応とかのバックエンド側を >いじりたいんではなく、フロントエンド側(入力言語)を拡張したいん? はい,バックエンド側には今のところほとんど興味がありません. 最終的な目標はフロントエンド側 (入力言語……といいますか C++) の拡張です. ただ,これはあくまで最終的な目標として設定しているだけです.
237 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 02:42:19 ] なんかそういうプロジェクトをどこかで見たような gccじゃなくて
238 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 02:56:44 ] LLVM?
239 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 11:11:06 ] >>237 > なんかそういうプロジェクトをどこかで見たような > gccじゃなくて COINS?
240 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 11:24:34 ] 入力言語をC++に変換するプリプリプロセッサを作るのが簡単のような
241 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 13:41:11 ] NVIDIAのCUDAのコンパイラ(nvcc)が内部でgcc使っているみたいだ。 つまり、拡張仕様の入力から独自仕様の出力を得ている模様。
242 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 15:55:42 ] Cell 用の spu-gcc もかなり弄ってるみたい
243 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 16:55:04 ] >>236 まずyacc & bisonの勉強 次に gcc.gnu.org/readings.html , GCC-specific Literature 特にtoy example languageとRTL C++拡張ということならOpenC++ (今はもう更新してないみたいだが)
244 名前:230 mailto:sage [2008/02/04(月) 20:11:15 ] GCC を弄る先例として色々見る価値のあるプロジェクトはあるみたいですね. >>240 構文チェックなどについては GCC に実装されている部分を流用し, interact させたいので,独立した preprocessing は今のところ考えていないです. >>243 色々助言していただいて本当に助かります.
245 名前:デフォルトの名無しさん mailto:sage [2008/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です。他のプログラムならコンパイル出来ている状態です。(やはりソースが間違ってるんでしょうか・・) どなたかアドバイス頂けると幸いです。
246 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:24:07 ] gccのフロントエンドはここのブログが参考になる。 alohakun.blog7.fc2.com/?all ILogScriptがgcc4.xに対応してほしいぜ。 誰かやってくれよ。
247 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:27:10 ] >undefined reference to `main'
248 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:31:18 ] wo神ならなんとかしてくれる
249 名前:245 mailto:sage [2008/02/05(火) 04:35:12 ] すいません解決しました。やはりただのソースの問題でした。 247さんありがとうございましたm(_ _)m
250 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 05:21:07 ] >>228 2月初旬の予定だそうだよ。
251 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 19:35:15 ] gcc.gnu.org/bugzilla/show_bug.cgi?id=32544 未だにこれが直ってないのでr300の人はご注意を。
252 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 01:48:52 ] >>245 またおまえかw
253 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 07:53:05 ] r300って、MIPSの何かかと思ってしまった。。R800でもいいけど。
254 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 09:43:58 ] >>253 > R800でもいいけど。 懐かしいね
255 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 12:29:30 ] >>252 なんか最近、wxの・・・更に言うならwx-configの話題をよく見かけるな どこかで流行ってるのかね
256 名前:デフォルトの名無しさん [2008/02/09(土) 23:35:10 ] GCCで、どこからも参照されていない関数を除去するオプションを探しています。 VC++でいうとプロパティ -> リンカ -> 参照の「参照されないデータを除去する」です。 GCCのバージョンは4.2.2で、組み込み向けのクロス環境です。
257 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 00:08:40 ] それはgccじゃなくてリンカldの仕事。VC++でもリンカliの仕事。 んで、--as-neededがそれなのかな?よく知らないいけど。 gccから渡すには、-Wl,LFLAGSのようだけど。
258 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 00:11:14 ] スタティックリンクしてるのかな? 正直スタティックリンクまわりは普段使ってないのでどうにも...
259 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:16:30 ] -ffunction-sections あたりでggr
260 名前:259 [2008/02/10(日) 01:30:59 ] >>256 関数だけじゃなく、グローバル変数も除去したいなら、-fdata-sectionsも要るな。 「データ」って書いてあるので一応補足。 >>257 それは、ライブラリを必要に応じてリンクしろというオプションだから今は関係内ね。 ldに渡すのは--gc-sectionsだったかな。
261 名前:256 [2008/02/10(日) 01:45:00 ] >>260 -ffunction-sections -Wl,--gc-sectionsを試してみましたが、目立った効果は無いみたいです。 COFFなのが原因かもしれないです。
262 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:50:37 ] COFFか。。それはよくわかんないな。 ELFのstatic linkでしか試したことが無い。
263 名前:256 mailto:sage [2008/02/10(日) 02:12:19 ] >>262 とりあえず地道に小分けにして対応することにします。 ありがとうございました。
264 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 09:33:30 ] 今更なんだけど、gccって、せっかく一旦yaccだかbisonだかを使う事にしたのに また手書きのパーザに戻したらしいよね。なんでなんだろ? 普通にパーザジェネレータ使ってた方が、何かと便利だろうに。
265 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 09:48:34 ] GCC全体じゃなくてC++のフロントエンドだけ。 C++がLALRでパースするのはキツい変態言語ってだけでは。
266 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 10:25:44 ] つ citeseer.ist.psu.edu/cache/papers/cs/21998/http:zSzzSzwww.cosc.canterbury.ac.nzzSzACMchapterzSzNZCSPGzSzpaperszSzwalzTzcosc.canterbury.ac.nz.pdf/irwin01generated.pdf
267 名前:264 mailto:sage [2008/02/10(日) 13:25:54 ] サンクス。 なんか下のpdfの冒頭、凄いこと書いてるな。自然言語パーザの方がふさわしいって? いや辞書片手に読んでるだけだから、誤読かもわからんけど。 まあ上手く動いてるなら、いいか。。。 できるだけ、へたな努力はしないで欲しいんだけどな。。。 つか、パーザジェネレータ使う方が「へたな努力」になってしまうって事? ・・・あれ?そうすると、「へたな努力」って何なんだっけ? ちょっと電波板で独り言つぶやいてくる。
268 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:40:19 ] >自然言語解析の分野で非常によく知られている富田法(GLR 法)が、 >従来のアプローチよりも C++ のパースに向いている事を発見した。 って書いてあるね。 GLR法 ja.wikipedia.org/wiki/GLR%E6%B3%95
269 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:42:00 ] bison では GLR をサポートしているらしいが、 それでも bison は使えないんだろうか?
270 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:38:05 ] あんまり変体過ぎて、パーザジェネレータの分野が活発になっているという…
271 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:55:34 ] >>263 馬鹿げた方法だけど C++ なら全部ヘッダに inline で書く手もw
272 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:27:31 ] >>268 C++って、自然言語に匹敵しかねないほど文法が複雑ってことか……
273 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:16:46 ] Walter タンが D を作りたいと思った気持ちが分かるな。
274 名前:ストラウストラップ mailto:sage [2008/02/11(月) 01:21:57 ] ハゲって言った奴は誰だ!
275 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 05:16:32 ] びよ〜ん びよんびよ〜ん
276 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 07:05:28 ] しゅと・ら・うすらっぷ
277 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 10:33:40 ] すっぽすっぽ
278 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 05:32:13 ] 来週にはRCビルドが始まるそうな。arch=core2にwktk
279 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:01:13 ] てかいまも使えるよ
280 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 09:49:07 ] llvmだいぶ速くなったものもあるみたいだけど、どうですか?
281 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 10:13:14 ] どうですか(笑)
282 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:44:12 ] gccをFPGAで作った自作のCPUに対応させたいんだけど、 binutilをいじればいいの? 何か参考になる書籍があれば教えて。