1 名前:デフォルトの名無しさん [2006/04/18(火) 19:57:04 ] 史上最強かもしれないツール、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
266 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 07:28:49 ] std::fill(&foo[0][0], &foo[2 - 1][3 - 1] + 1, 0)
267 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 12:30:55 ] ありがとうございます。 >>265 つまり日頃から&foo[n]と書く癖をつけるという事ですね >>266 2つめの引数の+1は問題にはならないのですか?
268 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 12:46:08 ] iterator + 1
269 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 13:27:45 ] >>268 std::fill()の最初2つの引数はイテレータなんですね。 だからp1=p2の時++p1==p2+1は1だからこそ成り立つってことかし? うーん、もっと勉強してきます。ありがとうございました。
270 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 13:32:26 ] >>269 全然違う
271 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 22:35:28 ] 「全然違う」書くだけなら小学生でも(略
272 名前:デフォルトの名無しさん mailto:age [2006/08/09(水) 22:36:07 ] あげとこう
273 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 23:18:15 ] 小学生ですが何か?
274 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 00:00:01 ] 付き合ってください
275 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 14:12:44 ] ごめんなさい
276 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 16:00:39 ] intel core microarchitecture 用の最適化の開発ってはじまってる?
277 名前:デフォルトの名無しさん [2006/08/14(月) 09:03:09 ] gccの内部構造に関して解説した文章ってありますか?
278 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 09:55:12 ] info
279 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 10:04:29 ] >>277 wikiwiki.jp/aloha/
280 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 21:18:02 ] >>277 gcc.gnu.org/onlinedocs/gccint/
281 名前:デフォルトの名無しさん [2006/08/17(木) 21:45:35 ] Javaで書いたルーチンをgcjでコンパイルしてライブラリ作って C,C++から呼び出すってたぶん可能ですよね どっかいい解説はないでしょうか? それとも無理なんかな
282 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 21:51:35 ] キーわかってんならググレ このカスが! 専用スレもあるってのに。
283 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 08:54:11 ] >>281 JVMの初期化APIあたりについてはマニュアルを読みましょう. * gcc.gnu.org/onlinedocs/gcj/Invocation.html#Invocation * www.asahi-net.or.jp/~wg5k-ickw/html/online/gcj-3.2.1/gcj-ja_12.html#SEC47 ライブラリをどう作っていいかわからんとかのレベルならgcjとか諦めた方が無難…
284 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 09:39:05 ] >>283 レスをどうもありがとうございます. C++側からJavaクラスのメッソドを呼び出すのに成功しました. ライブラリはいくつか作ってるので大丈夫ですが Javaの方がサッパリなので,これから学んでみようと思います. どうもありがとうございました.
285 名前:デフォルトの名無しさん [2006/08/18(金) 16:37:24 ] 一応あげておくか。
286 名前:デフォルトの名無しさん [2006/08/18(金) 17:51:47 ] >>282 最近の子は切れやすいね〜
287 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 18:24:50 ] 切れてないですよ 俺切れさせたら大したもんだよ
288 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 19:17:47 ] >>287 hage
289 名前:デフォルトの名無しさん [2006/08/19(土) 12:25:27 ] シグナルハンドラの中で使用する大域変数の型は volatile sig_atomic_t でなければいけないと書いてあるですが 率直に言って何故なんでしょうか? volatile は最適化の影響を避けるためというのは理解できますが、 volatile int でも良いと思うのですが。 sig_atomic_t は一つの機械語命令で実行できるとなっていますが そうでなければいけない理由って何でしょうか?
290 名前:デフォルトの名無しさん mailto:sage [2006/08/19(土) 13:16:17 ] その変数をセットする命令列の途中でシグナルが発生する可能性があるから。 たとえば変数が64ビット整数だとして、上位32ビットをセットする命令と 下位32ビットをセットする命令の2つでアクセスが構成される場合、 シグナルハンドラの中で有効な値がとれる保証がない。
291 名前:デフォルトの名無しさん mailto:sage [2006/08/19(土) 14:06:54 ] >>290 レスありがとうございます。 挙げていただいた例に従うと、 上位32ビットをセットする命令の実行後、下位32ビットをセットする命令の 実行前にシグナルが発生したら問題になるということですね? かなりきわどい条件ですが、発生したらデバッグできなそうです。
292 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 01:46:24 ] SSEとかってみんなインラインアセンブラで書いてるの? それとも組み込み?内臓?
293 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 07:59:44 ] ヒント SIMD最適化
294 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 13:19:44 ] 自分でも書くだろ。
295 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 21:05:00 ] asm文
296 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 22:32:03 ] int main(viod){ _asm{ 〜 } return 0; }
297 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 23:33:46 ] memalignとか__mm_mallocとか使えるならそれでもよさげなんですが
298 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 00:30:58 ] 最適化微妙だけど、gcc4.1使ってSIMD最適化して それを見ながらasmするってのが趣がありそうなのでやってみることにします
299 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 14:02:23 ] gcc.gnu.org/wiki/GCC_4.3_Release_Planning
300 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 17:52:11 ] 300
301 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 00:37:34 ] gcc3 とgcc4 を SPECint で比較した資料ありますか?
302 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 02:52:36 ] for(int i=0;i<10;i++){ : : } このコードでエラーを吐かれたときからGCCが嫌いになった。それだけ
303 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 05:13:50 ] ばかキタ-
304 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 06:14:15 ] >>303 ちげーよ ある仮定を1つ言ってないだけさ
305 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 06:57:55 ] やっぱり>>303 であってるじゃないかー
306 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 07:44:31 ] >>304 バカがキタことになってるよ 詳しく
307 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 12:18:56 ] [919]デフォルトの名無しさん 2006/03/19(日) 08:52:45 >>918 ちげーよ ある仮定を1つ言ってないだけさ これ何か流行ってるの? それともやっぱり >>303 なの?
308 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 13:45:06 ] 暇なので。 >>302 自分のミスに気づかないだけならまだしも、それが他人のミスであることを前提に話をすすめるのは典型的なできないプログラマだ。 infoも読めない自分を嫌いになれ。 `-std=' Determine the language standard. This option is currently only supported when compiling C or C++. A value for this option must be provided; possible values are (略) `c99' `c9x' `iso9899:1999' `iso9899:199x' ISO C99. (ばっさり略) `gnu89' Default, ISO C90 plus GNU extensions (ばっさり略)
309 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 14:18:54 ] error: 'for' loop initial declaration used outside C99 mode
310 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 15:05:04 ] manは読むけどinfoは読まないな インターフェイスが嫌い
311 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 15:27:38 ] 禿げて同意
312 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 17:23:09 ] infoのほうが、大抵詳しく書いてあるのですき。 interfaceも好き。
313 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:20:20 ] 俺も info は嫌いだな。 インターフェイスが嫌なのもあるけど、既に man があるのに別の仕組みを 押し付けられる感じが嫌だ。
314 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:31:20 ] 楽して調べたいわけですよ infoは操作がメンドイ
315 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:47:31 ] つかinfoならhtmlでいいじゃねぇかと思うことしきりなんだけどなぁ。
316 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:53:03 ] htmlでいいなら、info2htmlでいいじゃん。 infoがperlのmanみたいにできるといいな。 perl(1)より Overview perl Perl overview (this section) perlintro Perl introduction for beginners perltoc Perl documentation table of contents Tutorials perlreftut Perl references short introduction perldsc Perl data structures intro perllol Perl data structures: arrays of arrays perlrequick Perl regular expressions quick start perlretut Perl regular expressions tutorial (ry
317 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 20:58:34 ] 共有ライブラリのsonameをバイナリの状態で書き換える方法ってないものでしょうか? ソースコードからmakeして、ldのオプションで設定するっていうのは無しの方向で考えているんですけど...。
318 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 23:33:24 ] >>317 つ LD_PRELOAD
319 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 02:46:40 ] >>292 xmmintrin.h これ定説。
320 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 21:38:37 ] すみません。質問です。 C#で、メモリが開放されるタイミングってどんなときでしょうか? プログラム内で今開放してって指定できないでしょうか?
321 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 22:42:48 ] >>320 誤爆?
322 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 02:19:06 ] GCの質問なんだが。
323 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 02:23:08 ] >35-37
324 名前:デフォルトの名無しさん [2006/10/09(月) 02:42:55 ] gccでC#ってコンパイルできたっけ?
325 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 08:12:41 ] >>324 ちげーよ ある仮定を1つ言ってないだけさ
326 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 09:42:50 ] >>324 つ www.dcl.hpi.uni-potsdam.de/research/lego.NET/
327 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 13:09:28 ] gccではgetche();の関数は使用できませんか?
328 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 13:15:28 ] >>327 なんでそんなこと聞くんだ。 やってみりゃいいじゃないか。 あと、includeディレクトリをgrep
329 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 13:28:38 ] >>328 当方Win XPにCygwinの環でございます。 #include <conio.h> を入れたソースをコンパイルしようとするとconio.hがみつから無いようなことが返されます。 当方の環境では C:\cygwin\usr\include\mingw の位置にconio.hは確認することが出来たんですが。 C:\cygwin\usr以下に conio.hとにコピーしたら_mingw.hが無い、_mingw.hをコピーしたら_getcheが無いようなことを言われました。 確かにconio.hの中には_getche (void)の記述はあったんですがどうにも動いてくれません。 当方Cygwin+gccの環境初心者の為すみません。
330 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 17:59:36 ] つまり、mingwを使いたいと言いながらgccを使っているわけだ。
331 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 18:35:45 ] >>329 -mno-cygwin
332 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 15:33:30 ] gcc-3.3とgcc-4.1.1がインストールされてて今は普通にgccって実行したらgcc-4.1.1が起動するんだけど、 これをgcc-3.3にする方法ないですか?-V 3.3付けるとかじゃない方法で。
333 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:40:38 ] つgcc-config
334 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:42:44 ] つgcc-config
335 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 17:17:55 ] >>333 >>334 ない。
336 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:14:31 ] ないものは作れ。
337 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:28:26 ] ちょ、おま
338 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:43:01 ] パス
339 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 20:32:52 ] cygwinにgcc3.4.6が
340 名前:デフォルトの名無しさん [2006/10/15(日) 20:08:00 ] 軽い気持ちでgcc 3.4.6をビルドしようとしたら半日経っても終わらない。 そらcygwinの中の人の腰が重いわけだ。
341 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:14:50 ] 逆にGCC 4.1.1をCygwin上でビルドしたが、数時間で終わった。
342 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:29:42 ] GCC4.1.1をMinGWにインストールする方法を教えてください。
343 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:31:51 ] とりあえずセルフビルドなら特に問題は生じない。
344 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:33:25 ] Cygwin GCC 3.4.6作るには ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-3.4.6/gcc-3.4.6.tar.bz2 とGDCとGPCを落として解凍して ./configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug の後 make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap …でいいんだよね?
345 名前:デフォルトの名無しさん mailto: [2006/10/15(日) 20:44:04 ] >>344 成功したら配布きぼん。
346 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 21:00:11 ] >>342 gcc.gnu.org/ml/gcc/2006-09/msg00044.html gcc.gnu.org/ml/gcc/2006-08/msg00583.html gcc.gnu.org/gcc-4.1/buildstat.html
347 名前:340 [2006/10/15(日) 22:36:40 ] いい加減キレそうだ…もう寝る。 で、起きた頃にはエラーで止まってるんだろ。 俺の人生そんなもんよ。
348 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 22:38:05 ] がんばれ。とにかくがんばれ。人生がんばるしかない。
349 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 22:44:58 ] bootstrapだと、自分を三回コンパイルするんだっけ
350 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:04:49 ] 古いgccでコンパイルした新しいgccでコンパイルしたgccで更にコンパイルするんだっけ?
351 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:28:20 ] こうかな? ・まず3.4.5とかで3.4.6を作る ・作った3.4.6でもう一回作る。これが「3.4.6で作った3.4.6その1」となる。 ・更に「3.4.6その1」で「3.4.6その1で作った3.4.6その2」を作る。 ・「3.4.6その1」と「3.4.6その2」のオブジェクトを比較して同じならOK。 何か一つでも違っていたら3.4.6は3.4.6でも 場合によって違うものを作り上げるイケてない3.4.6ということだからエラーで止まる。 だからGCC作者自身がbootstrapはやるべきだと言ってるのか。
352 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:45:45 ] 最初に使う3.4.5はどうやって作ったの?
353 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:51:00 ] あーもう。 だれかバイナリ上げれば済むこったろ。 待っとけ。 俺はやらないけどな。
354 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:56:58 ] >>352 3.4.4で作るに決まってるん
355 名前:デフォルトの名無しさん [2006/10/15(日) 23:58:19 ] 決まってるん
356 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 00:46:43 ] >>354 じゃあその3.4.4はどうやってくつったのよ?
357 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 00:54:33 ] 3.4.3で(以下略
358 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:10:58 ] くつった
359 名前:デフォルトの名無しさん [2006/10/16(月) 01:12:37 ] じゃあその3.4.3を作った3.4.2を作った3.4.1 (中略) 一番最初はどうやって作ったのよ?
360 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:15:49 ] 別のCコンパイラ
361 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:18:30 ] >>351 ほか 理想論では、Cコンパイラがあればstage1をビルドできる。 stage2以降は先行stageなgccでビルドするから問題なし。 現実的には、3.4.xは3.3.x以降ならだいたいビルド可能な感じかな。 3.0.xあたりだと微妙かも。2.95とかはトラップがあったような。 gccのソースコード内にgcc依存な記述がどのぐらい入っているのかはよく知らん。 完全に標準C準拠な記述だけなら使う側は幸せだけど、きっとそんなことはないな。 Q. このCコンパイラはどうやってビルドしたの? A. 別のCコンパイラを使ってコンパイルした Q. その別のCコンパイラは(ry …最初だけは適当なバイナリ使え。
362 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:23:39 ] 一番最初までさかのぼると機械語で直にコーディングした強者にたどり着くのだろう
363 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:39:10 ] >>362 つクロスコンパイラ Q. このクロスコンパイラはどうやってビルドしたの? A. 別の(ry まあほんとの最初はやっぱり機械語なはずだな。 Cが生まれた頃には別の高級言語やアセンブリ言語があったから、 機械語から直接Cに来たってことはないだろうけど。 ttp://en.wikipedia.org/wiki/C_%28programming_language%29
364 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:47:05 ] GCCの起源をさかのぼると紙テープになるってか?
365 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 03:09:31 ] ∧ ∧ <丶`∀´> ウリナラがこのスレに興味を持ったようです。
366 名前:デフォルトの名無しさん [2006/10/16(月) 12:41:55 ] 俺も今朝出るときビルド仕掛けた。 帰る頃には終わってるだろう。