[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 18:27 / Filesize : 201 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

GCCについて part7



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 ]
俺も今朝出るときビルド仕掛けた。
帰る頃には終わってるだろう。






[ 続きを読む ] / [ 携帯版 ]

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

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