元スレGCCについて part8
gcc覧 / PC版 /みんなの評価 : ☆
401 = :
>>400
うん。そういう風にわかってこだわるのはいいんだ。
>>393は試したって-O2だけかよ、って小一時間問い詰めたい。
実際のところ、カーネルとかマルチメディア系とかはコンパイラの癖にまで
依存したギリギリのチューニングが施されている場合があるから、
コンパイラの能力を評価するにはフェアじゃない。
402 = :
http://x264dev.multimedia.cx/?p=32
404 = :
毎回gdb立ち上げて特定のメソッドにブレーク張ってとかの作業を
自動化してくれる方法はないでしょうか?
405 = :
>>404
gdbの起動時にスクリプトを実行する機能があるよ。
詳細はmanでも読んで。
406 = :
>>405さんありがとうございます。
.gdbinitというファイルをカレントディレクトリに用意して
以下のように書いてうまくいきました。
exec-file ./test.exe
symbol-file ./test.exe
r
b main
410 = :
GCCで音階のプログラムを組もうとおもっています。
波数とパルスの詳細が知りたいので、教えてください。
4オクターブを想定しています。
411 = :
>>410
GCC関係あるのか?
どういうプラットフォームで何からどうやって音を出そうというのかを
はっきりさせて下のスレあたりで聞いたほうがいいように思う。
サウンドプログラミング4
http://pc11.2ch.net/test/read.cgi/tech/1185340076/
412 = :
GCCでプリコンパイル済みヘッダ使うとき、元のヘッダ*.hと同じディレクトリに
*.h.gchが作られますけど、release用とdebug用の二つのプリコンパイル済みヘッダを
使いわけたいときなんかは、皆さんどのようにしてますか?
414 = :
ディレクトリ指定してそこに作らせる。
415 = :
http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
によると、*.h.gch というディレクトリを作って、その中にそれぞれ用のプリコンパイルヘッダを置いておくといいらしい・・・
416 = :
>>415 さんのやり方で無事できました。皆さんありがとうございます。
*.h.gchディレクトリ以下で、コンパイルオプションが同じものを勝手に使ってくれるようです。
プリコンパイル済みヘッダのファイル名はなんでもいいようです。
417 = :
長い間VC6、VC8(MFC)で実装をやってました
この度、新しいプロジェクトでlinuxでC++の実装を担当することになったのですが
VisualStudioの生ぬるい環境に、長い間どっぷり浸っていたせいで
いまいち、調子がよくありません
gcc(g++)の環境で、VisualStudioのようなデバッガーって無いのでしょうか?
418 = :
EclipseもC++に対応してたような
423 = :
これがゆとり世代か・・・
424 = :
emacsはもう死んだよ
426 = :
>>424
ん?xyzzy が便利なんですが。CL だし。
427 = :
emacs憶えたら便利なんだろうって何となく思うけど、
憶えるための最初の一歩を踏み出す気が起きない。
428 = :
以下のような関数をgccでビルドするとき、
最適化オプションを何もつけていないのに
return -1;の部分が最適化されて消えてしまうことってありますか?
int func(void) {
// この関数が呼ばれた時点でバグなのでデバッグ時は無条件にアサートさせる。
assert(false);
// リリース時に万が一呼ばれたときはエラー値を戻す。
return -1;
}
430 = :
>>428
gccは最適化ナシでも簡単なフロー解析(この場合、あからさまに到達不能なブロック)はやっている。
assert() 内部では __attribute__((noreturn)) なファンクションが呼ばれている。
あとはわかるな?
431 = :
>>429,430
どうもです。
以下のソースを
gcc -S -o test.s test.c
と
gcc -S -DNDEBUG -o test2.s test.c
とすると挙動がわかりました。
ありがとうございました。
#include <assert.h>
void f(void)
{
assert(0);
int i = 0;
++i;
}
434 = :
いつものごとく4.5くらいまで進めば安定するんでないかい。
ということで3.4使いつづけとります。
436 = :
openmpのこともたまには思い出して上げてください
437 = :
>>436
思い出してもageません?
438 = :
Converting GCC to C++
http://lwn.net/Articles/286539/
440 = :
GCC を C++ に移植したいらしい。
442 = :
>>440
そっか逆か。ありがと。
443 = :
もういっそJavaでもいいんじゃね派が登場して
混沌としてほしい
444 = :
なんてアグレッシブな!と思ったけどブランチ作っただけでコードはまだか。
内部のモジュール化が進むといいなあ。
446 = :
GCC 3.4 x86_64 で -mno-sse が効かないんですが、理由が分かる人はいますか?
gcc -S -fverbose-asm の出力を見ると、-mno-sse を付けているにも関わらず -msse が有効になっています
実際、アセンブリを見ても SSE 系の命令が出力されています
447 = :
>>446
-mfpmath=387
449 = :
>>446
>GCC 3.4 x86_64 で -mno-sse が効かないんですが、理由が分かる人はいますか?
横な質問なんですけどx86_64でSSEの無いCPUって何ですか?
450 = :
>>449
あまり詳しいことは書けないけど
XMM レジスタを使わないことが前提のアセンブリコードや CPU エミュレータがあるので
C ソースファイルをコンパイルするときに SSE コードを生成して欲しくない
あるいは浮動小数点演算自体の使用を禁止する運用も可能だけど
その場合、浮動小数点演算を使用しているソースをコンパイルエラーで弾くくらいはする必要がある
みんなの評価 : ☆
類似してるかもしれないスレッド
- GCCについて part9 (1001) - [95%] - 2011/9/2 21:17 ○
- GCCについて part10 (538) - [90%] - 2018/7/5 20:30
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [18446744073709551610%] - 2022/10/28 8:00
トップメニューへ / →のくす牧場書庫について