史上最強かもしれなかったツール、GCC(GNU Compiler Collection)について語るスレ。
GNU本家のGCCページ
http://gcc.gnu.org/
Binutils - Collection of binary utilities ←これも必要だぞ。
http://www.gnu.org/directory/GNU/binutils.html
GNU Binutils
http://sources.redhat.com/binutils/
GCC online documentation
http://gcc.gnu.org/onlinedocs/
Installing GCC
http://gcc.gnu.org/install/
GCC Timeline
http://gcc.gnu.org/releases.html#timeline
Calendar
http://gcc.gnu.org/develop.html#timeline
前スレ
GCCについて part9
http://hibari.2ch.net/test/read.cgi/tech/1246059290/
関連スレ
【最速へ】LowLevelVirtualMachine【LLVM】
http://hibari.2ch.net/test/read.cgi/tech/1211547655/
探検
GCCについて part10
■ このスレッドは過去ログ倉庫に格納されています
2011/09/03(土) 14:13:04.14
2011/12/09(金) 17:49:05.22
73デフォルトの名無しさん
2011/12/10(土) 23:10:38.16 SandyBridgeでg++ -march=native -mtune=native で作ったバイナリって
Core2とかじゃ動かないみたいなんだけど、どのオプションでどれで動くかって
表か何かない?
Core2とかじゃ動かないみたいなんだけど、どのオプションでどれで動くかって
表か何かない?
2011/12/11(日) 03:28:34.47
>>73
nativeだとAVX(-mavx)が入るからだろ
-march=core2にしたらいいよ
オプションはこれででる
ttp://d.hatena.ne.jp/ktomoya/20100510/1273510042
nativeだとAVX(-mavx)が入るからだろ
-march=core2にしたらいいよ
オプションはこれででる
ttp://d.hatena.ne.jp/ktomoya/20100510/1273510042
2011/12/11(日) 08:32:33.51
>>74
おぉ、サンクス。
ちなみに、MinGW/g++.exe (GCC) 4.6.1でこんなんでた。
-march=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=corei7-avx
おぉ、サンクス。
ちなみに、MinGW/g++.exe (GCC) 4.6.1でこんなんでた。
-march=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=corei7-avx
2011/12/11(日) 15:53:29.35
>>75
-mavx -msse4.2 -msse4.1 -maes -mpclmul -mpopcnt ...
などがCPUごとに実装状況が異なる命令を使うってオプションだから
SSE4.2やAVX、POPCNTなど最近できた命令に対応していないプロセッサだと動かない
-march=nativeはコンパイルしたマシンのプロセッサなどからこういうオプションを勝手に付けてくれるものだから
対応表とか作るとCPUのカタログになってしまうので
コンパイル済みのバイナリを別のマシンで実行したいならmarchやmtuneは指定しないか
対象が分かっているならその中で一番機能が少ないプロセッサに合わせて設定したほうがいいかと
-mavx -msse4.2 -msse4.1 -maes -mpclmul -mpopcnt ...
などがCPUごとに実装状況が異なる命令を使うってオプションだから
SSE4.2やAVX、POPCNTなど最近できた命令に対応していないプロセッサだと動かない
-march=nativeはコンパイルしたマシンのプロセッサなどからこういうオプションを勝手に付けてくれるものだから
対応表とか作るとCPUのカタログになってしまうので
コンパイル済みのバイナリを別のマシンで実行したいならmarchやmtuneは指定しないか
対象が分かっているならその中で一番機能が少ないプロセッサに合わせて設定したほうがいいかと
2011/12/16(金) 21:45:35.33
普段Pythonを使っているんだけど、gcc on LinuxでCで何かの分野の処理をやるとしたら何の分野がいいかな?
コーディングがマゾい奴はやりたくない。うひょー、コーディング楽しいって感じの週末にしたい。
コーディングがマゾい奴はやりたくない。うひょー、コーディング楽しいって感じの週末にしたい。
2011/12/16(金) 22:57:34.93
フィボナッチ数でも計算してろ
2011/12/17(土) 04:10:44.29
wxPython と wxWidgets のバインディングが出来るツールをおながいしまつ
2011/12/22(木) 10:18:33.81
windows7にしたらResource temporarily unavailableエラーが頻出するようになったんだけど
どういうことこれ
どういうことこれ
2011/12/22(木) 12:07:36.06
Cygwin使っているならCygwin固有の問題
2011/12/28(水) 14:50:50.96
問題だね(´・ω・`)
2011/12/31(土) 16:04:05.91
問題と思うから問題になる
問題と思わなければ問題ない
問題と思わなければ問題ない
2012/01/01(日) 19:14:46.19
2012/01/02(月) 13:01:35.03
具体的に
何やったら、こうなった
って、かいてほしいな
何やったら、こうなった
って、かいてほしいな
2012/01/03(火) 12:16:02.83
2012/01/03(火) 13:21:45.30
4.6.1の情報はドコで手に入りますか?
2012/01/03(火) 20:06:07.38
tar玉に入ってるだろ
2012/01/05(木) 18:39:50.52
最適化しても助長なコードを吐くことがあるのを見つけちゃったよ
2012/01/05(木) 19:35:52.48
んではそのケース用peephole optimizationを.mdに追加してくれ
2012/01/05(木) 19:44:12.02
え、秘密にしてちゃ駄目かな?
2012/01/05(木) 23:33:57.20
助長してくれるならいいことじゃないか
2012/01/06(金) 00:22:32.22
転送先に書いて、転送先から同じレジスタに書き戻すことがある
で、わかりますか?
で、わかりますか?
94デフォルトの名無しさん
2012/01/06(金) 14:47:54.30 ターゲット書かないのはターゲット非依存ってことなのか、今日日x86に決まってんだろうがってことなのか
2012/01/06(金) 15:14:17.60
複数archで確認してるよ、peephole2使って
2012/01/08(日) 22:17:08.34
以下のようなコードでコンパイルは通るのですが
実行した時の表示が
1
1
のようになってしまいます。
1
2
になるつもりで書いているのですが
変数の受け渡しはどうすればいいのでしょうか?
(円記号のところは本当はバックスラッシュになっています)
#include <stdio.h>
int test(a)
{
a = a + 1;
return a;
}
int main()
{
int a;
a = 1;
printf("%d\n",a);
test(a);
printf("%d\n",a);
return 0;
}
実行した時の表示が
1
1
のようになってしまいます。
1
2
になるつもりで書いているのですが
変数の受け渡しはどうすればいいのでしょうか?
(円記号のところは本当はバックスラッシュになっています)
#include <stdio.h>
int test(a)
{
a = a + 1;
return a;
}
int main()
{
int a;
a = 1;
printf("%d\n",a);
test(a);
printf("%d\n",a);
return 0;
}
2012/01/08(日) 22:35:35.37
a=test(a);
2012/01/08(日) 22:52:02.15
#include <stdio.h>
void test(int *a)
{
*a += 1;
}
int main()
{
int a = 1;
printf("%d\n",a);
test(&a);
printf("%d\n",a);
return 0;
}
void test(int *a)
{
*a += 1;
}
int main()
{
int a = 1;
printf("%d\n",a);
test(&a);
printf("%d\n",a);
return 0;
}
2012/01/13(金) 03:10:33.49
Commit: RX: Add return pattern
ttp://gcc.gnu.org/ml/gcc-patches/2012-01/msg00627.html
gcc/function.cの
HAVE_return
HAVE_simple_return
の場合分けが悪いだけなのにね
ここに書いても無駄だと思うけど、なんとなく
ttp://gcc.gnu.org/ml/gcc-patches/2012-01/msg00627.html
gcc/function.cの
HAVE_return
HAVE_simple_return
の場合分けが悪いだけなのにね
ここに書いても無駄だと思うけど、なんとなく
100デフォルトの名無しさん
2012/01/13(金) 14:29:13.06101デフォルトの名無しさん
2012/01/13(金) 15:20:26.40 特定アーキテクチャの問題
じゃあねえよ、ど素人が
じゃあねえよ、ど素人が
102デフォルトの名無しさん
2012/01/14(土) 14:19:50.12103デフォルトの名無しさん
2012/01/14(土) 17:37:33.78 他のアーキテクチャはmdいじくって、回避してるよ
どっちを修正すればいいかって話になるけど
function.cの該当部分書いたのがイマイチだって感じかな?
どっちを修正すればいいかって話になるけど
function.cの該当部分書いたのがイマイチだって感じかな?
104デフォルトの名無しさん
2012/01/14(土) 17:46:01.66 archによってはわざとmakeでコケるような細工してあることが注意したほうがいいよ
105デフォルトの名無しさん
2012/01/14(土) 18:23:50.79 make の段階でこけるならまだ良心的だなw
10696
2012/01/22(日) 23:41:41.30 遅くなりましてすみませんが
ご回答いただいた方ありがとうございました
ご回答いただいた方ありがとうございました
107デフォルトの名無しさん
2012/01/27(金) 16:04:12.55 これからは礼の言葉はいらん
108デフォルトの名無しさん
2012/02/28(火) 18:10:21.39 対レジスタに関して演算結果で変化がないときは最適化してくれるけど
対メモリに対しては最適化されない時があるんだね、gcc
対メモリに対しては最適化されない時があるんだね、gcc
109デフォルトの名無しさん
2012/02/28(火) 18:41:02.39 頑張っても同じって場合なんじゃない?
110デフォルトの名無しさん
2012/02/28(火) 18:46:57.74 レジスタ使い回しが出来る奴はあんまり影響がないけど
メモリに依存したような奴は無駄なコードを吐いちゃうってことがある?ってことです
メモリに依存したような奴は無駄なコードを吐いちゃうってことがある?ってことです
111デフォルトの名無しさん
2012/02/28(火) 19:14:32.98 最適化レベル6にしてるか?
112デフォルトの名無しさん
2012/02/28(火) 19:28:33.24 aliasある疑いがある時はちゃんとメモリアクセスしないと仕方ねえしな。
113デフォルトの名無しさん
2012/02/28(火) 20:01:52.41 最適化レベル6ってどこのコンパイラのこと?
114デフォルトの名無しさん
2012/02/28(火) 20:25:22.47 THINK Cだろ
115デフォルトの名無しさん
2012/02/28(火) 22:09:56.74 Linux 0.99とかその辺の話じゃないの?
116デフォルトの名無しさん
2012/02/28(火) 22:19:55.95 ワシの最適化は108まであるぞ
117デフォルトの名無しさん
2012/02/28(火) 22:53:59.19 内部的には3まででしょ、gcc
-Oのあとの数字はなんでもうけつけるってだけで
最適化レベルっていっても細かなオプションが適時追加されるだけという
-Oのあとの数字はなんでもうけつけるってだけで
最適化レベルっていっても細かなオプションが適時追加されるだけという
118デフォルトの名無しさん
2012/02/29(水) 09:17:44.33 やたらでかい数字に意味があったのってEGCS時代ぐらいじゃね?
119デフォルトの名無しさん
2012/02/29(水) 17:21:18.80 ぐらいだね
120デフォルトの名無しさん
2012/03/03(土) 12:56:03.52 4.7.0
121デフォルトの名無しさん
2012/03/08(木) 01:15:56.76 gcc4.7を使ってみたくて自前ビルドで詰まったんだけど,質問はここでいいのだろうか.
場所が悪ければ誘導願いたい
Ubuntu 11.10で,gcc-4.7.0-RC-20120302をビルドしようとしてる.
標準エラーの最後の方がこんなのだったんでリンクができてなくて止まってるのはわかるんだけど
glibcやらbinutilsあたり,aptにあるそれらしいやつは違うようだった
入れるべきパッケージなりが足りてない?
それともlocateで出てくる奴にシンボリックリンクでも貼ればいいものだろうか
↓エラーログ
/usr/local/bin/ld: cannot find crti.o: No such file or directory
/usr/local/bin/ld: cannot find -lc
/usr/local/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
解決法探すコツみたいなものも教えていただけるとありがたい
ログが膨大で何に重点をおくべきかわからなくなってる
場所が悪ければ誘導願いたい
Ubuntu 11.10で,gcc-4.7.0-RC-20120302をビルドしようとしてる.
標準エラーの最後の方がこんなのだったんでリンクができてなくて止まってるのはわかるんだけど
glibcやらbinutilsあたり,aptにあるそれらしいやつは違うようだった
入れるべきパッケージなりが足りてない?
それともlocateで出てくる奴にシンボリックリンクでも貼ればいいものだろうか
↓エラーログ
/usr/local/bin/ld: cannot find crti.o: No such file or directory
/usr/local/bin/ld: cannot find -lc
/usr/local/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
解決法探すコツみたいなものも教えていただけるとありがたい
ログが膨大で何に重点をおくべきかわからなくなってる
122デフォルトの名無しさん
2012/03/08(木) 01:31:56.68 glibcのdevelみたいなのが入ってないような感じ、debian系はよー知らんけど
今のgccはビルドするときに必要なパッケージが増えてるから、ご注意を
ttp://packages.ubuntu.com/oneiric/gcc
今のgccはビルドするときに必要なパッケージが増えてるから、ご注意を
ttp://packages.ubuntu.com/oneiric/gcc
123デフォルトの名無しさん
2012/03/08(木) 07:45:36.03 >>121
Ubuntuにもmultiarch問題があるのか。
Ubuntuにもmultiarch問題があるのか。
124デフォルトの名無しさん
2012/03/08(木) 08:35:59.30 自分で答え書いてるやん
125デフォルトの名無しさん
2012/03/08(木) 10:05:25.71 リナックスは問題だらけで使い物にならんよ。
リナックスがパッケージシステムが出来て糞になってる間に
windowsは安定してみんな使うようになった。
リナックスがパッケージシステムが出来て糞になってる間に
windowsは安定してみんな使うようになった。
126デフォルトの名無しさん
2012/03/08(木) 10:54:37.12 >>125 のようなバカが使ってるよな
127デフォルトの名無しさん
2012/03/08(木) 10:59:19.59 メーカーがドライバーを作らないからな。
偽者のドライバーでは機能制限が多すぎて
最高のパフォーマンスを出すことは到底不可能だからな。
偽者のドライバーでは機能制限が多すぎて
最高のパフォーマンスを出すことは到底不可能だからな。
128デフォルトの名無しさん
2012/03/08(木) 11:05:01.38 釣りにしてはネタが腐ってるような?
129デフォルトの名無しさん
2012/03/08(木) 11:23:08.62 寿司じゃないんだから・・・・
それを言うならエサでしょう。あいにっく
釣りっぽい発言には見えないが・・・
それを言うならエサでしょう。あいにっく
釣りっぽい発言には見えないが・・・
130121
2012/03/08(木) 14:24:03.17 パッケージのgcc4.6は入ってるから,glibc系の依存してるパッケージは入ってるはず.
/usr/libとかに勝手に作っちゃうと先々何か入れるときに衝突しそうで避けてたんだけど
/usr/libにあるはずのものが/usr/lib/i386-linux-gnuに入っちゃってるって記事を見て
シンボリックリンク貼って走らせておいたら通ってたよ
現在make check中.
ものすごく無理やりな感があって正しいのか不安だけど,とりあえず回答に感謝
/usr/libとかに勝手に作っちゃうと先々何か入れるときに衝突しそうで避けてたんだけど
/usr/libにあるはずのものが/usr/lib/i386-linux-gnuに入っちゃってるって記事を見て
シンボリックリンク貼って走らせておいたら通ってたよ
現在make check中.
ものすごく無理やりな感があって正しいのか不安だけど,とりあえず回答に感謝
131デフォルトの名無しさん
2012/03/09(金) 01:27:12.80 multiarch問題は--libdir=/usr/lib/i386-linux-gnuで解決するんじゃないのか?
132デフォルトの名無しさん
2012/03/09(金) 01:46:40.72 あ,まさにそれっぽい
これか.
--libdir=dirname
Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
勝手に作ったシンボリックリンク外してやってみる
これか.
--libdir=dirname
Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
勝手に作ったシンボリックリンク外してやってみる
133デフォルトの名無しさん
2012/03/09(金) 22:22:39.29 うまくいかないな
configureに--libdir=/usr/lib/i386-linux-gnuやら
--libexecdir=/usr/lib/i386-linux-gnuやらつけて
何回か試してみたけど見に行ってくれてないみたい
ldが探す場所ってld.so.confが読んでる奴じゃなかったっけ.
こっちに/usr/lib/i386-linux-gnuも入ってるのだけど,
ldconfig -pに出てこないから探しに行ってないんだよな
ここが解決すればよさそうな気もするのだけど.
このあたりの話題はスレ違いだろうか
configureに--libdir=/usr/lib/i386-linux-gnuやら
--libexecdir=/usr/lib/i386-linux-gnuやらつけて
何回か試してみたけど見に行ってくれてないみたい
ldが探す場所ってld.so.confが読んでる奴じゃなかったっけ.
こっちに/usr/lib/i386-linux-gnuも入ってるのだけど,
ldconfig -pに出てこないから探しに行ってないんだよな
ここが解決すればよさそうな気もするのだけど.
このあたりの話題はスレ違いだろうか
134デフォルトの名無しさん
2012/03/09(金) 22:25:33.52 64bitなgcc作りたいの?
なら、32bitな環境入れとかないとコケるような
なら、32bitな環境入れとかないとコケるような
135デフォルトの名無しさん
2012/03/09(金) 22:34:00.66 いや,そも全部32bit環境…のはず.
i386,i686はアーキテクチャの差であってbit数は関係ないよね?
i386,i686はアーキテクチャの差であってbit数は関係ないよね?
136デフォルトの名無しさん
2012/03/09(金) 22:37:31.73 どこでコケてるのか、文章だけじゃ、わからないよ
rpmなら、specファイル見たらって言えるんだけど
rpmなら、specファイル見たらって言えるんだけど
137デフォルトの名無しさん
2012/03/09(金) 22:56:36.35 あ,出てるエラーは>>121です
ldが/usr/lib/i386-linux-gnu/を見ずに/usr/libまでしか見てないらしくて
crti.oとかが無いと言われる
/usr/libから手動でシンボリックリンクを貼ってみたら一回通ったけど,
そうじゃなくてオプションでそちらを見る方法があるなら知りたい
直前のコマンドは引数多すぎて何をしてるのかよくわからないけど
(ビルドしてるディレクトリ)/gcc/xgcc
のようです
ldが/usr/lib/i386-linux-gnu/を見ずに/usr/libまでしか見てないらしくて
crti.oとかが無いと言われる
/usr/libから手動でシンボリックリンクを貼ってみたら一回通ったけど,
そうじゃなくてオプションでそちらを見る方法があるなら知りたい
直前のコマンドは引数多すぎて何をしてるのかよくわからないけど
(ビルドしてるディレクトリ)/gcc/xgcc
のようです
138デフォルトの名無しさん
2012/03/09(金) 23:57:50.14 なんかまだ具体性欠いてるきがするので追記.
gcc4.7.0RCのmake中,>>121のエラー
そのあとの出力は以下,直前のコマンドは貼れないくらい長いものでxgccを起動してるらしい
make[3]: *** [libgcc_s.so] エラー 1
make[3]: *** 未完了のジョブを待っています....
make[3]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build/i686-pc-linux-gnu/libgcc' から出ます
make[2]: *** [all-stage1-target-libgcc] エラー 2
make[1]: *** [stage1-bubble] エラー 2
make: *** [all] エラー 2
make[2]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます
make[1]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます
---ここまで---
自分で判断できることと知りたい内容は>>137の内容.
gcc4.7.0RCのmake中,>>121のエラー
そのあとの出力は以下,直前のコマンドは貼れないくらい長いものでxgccを起動してるらしい
make[3]: *** [libgcc_s.so] エラー 1
make[3]: *** 未完了のジョブを待っています....
make[3]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build/i686-pc-linux-gnu/libgcc' から出ます
make[2]: *** [all-stage1-target-libgcc] エラー 2
make[1]: *** [stage1-bubble] エラー 2
make: *** [all] エラー 2
make[2]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます
make[1]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます
---ここまで---
自分で判断できることと知りたい内容は>>137の内容.
139デフォルトの名無しさん
2012/03/10(土) 00:03:21.81 --disable-bootstapつけてやってみるとか、適当だけど
自分もその辺でハマった口だけど、
build.log見たりとか
コケたところを部分的に手動でやってみたりとか
gccのビルドって、自力でやるのがだんだん難しくなってる、自分的には
4.6あたりで出来るか試してみるのも、ひとつの手
自分もその辺でハマった口だけど、
build.log見たりとか
コケたところを部分的に手動でやってみたりとか
gccのビルドって、自力でやるのがだんだん難しくなってる、自分的には
4.6あたりで出来るか試してみるのも、ひとつの手
140デフォルトの名無しさん
2012/03/10(土) 00:48:37.07 そりゃ、野良のldをmultiarch対応せずに使っているなら見ねーよな
141デフォルトの名無しさん
2012/03/10(土) 00:56:54.52 いろんなアーキテクチャに対応するために
/usr/libにあったものを/usr/lib/(アーキテクチャ名)に移動してあるものがあって
ldもmultiarchに対応したものを指定してやらないとならない,ってことか
ldはbinutilsに含まれるってことで合ってる?
binutilsも新しいもの入れたつもりだけど,古いの呼んじゃってるかもしれないから
そのあたり調べてみる
/usr/libにあったものを/usr/lib/(アーキテクチャ名)に移動してあるものがあって
ldもmultiarchに対応したものを指定してやらないとならない,ってことか
ldはbinutilsに含まれるってことで合ってる?
binutilsも新しいもの入れたつもりだけど,古いの呼んじゃってるかもしれないから
そのあたり調べてみる
142デフォルトの名無しさん
2012/03/10(土) 00:58:53.88 本当にバカだな
意味が分からないなら、ubuntuのbinutilsつかってみろ
それで解決
意味が分からないなら、ubuntuのbinutilsつかってみろ
それで解決
143デフォルトの名無しさん
2012/03/10(土) 01:03:33.54 Debianのgcc-4.7をリビルドして使おうとしないところが、頑なな奴だな。
144デフォルトの名無しさん
2012/03/10(土) 01:26:26.28145デフォルトの名無しさん
2012/03/11(日) 00:02:07.11 --- a/src/gcc/config/i386/t-linux
+++ b/src/gcc/config/i386/t-linux
@@ -3,3 +3,5 @@
# t-slibgcc-elf-ver and t-linux
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
$(srcdir)/config/i386/libgcc-glibc.ver
+
+MULTIARCH_DIRNAME = i386-linux-gnu
+++ b/src/gcc/config/i386/t-linux
@@ -3,3 +3,5 @@
# t-slibgcc-elf-ver and t-linux
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
$(srcdir)/config/i386/libgcc-glibc.ver
+
+MULTIARCH_DIRNAME = i386-linux-gnu
146デフォルトの名無しさん
2012/03/22(木) 23:22:47.12 GCC 4.7.0 released [2012-03-22]
147デフォルトの名無しさん
2012/03/25(日) 01:22:03.60 __transaction_atomic の使い方がわからん
中に出てくる変数全部アトムボーイになるの?
中に出てくる変数全部アトムボーイになるの?
148デフォルトの名無しさん
2012/03/25(日) 01:32:10.51 超高速にシンタックスチェックだけしてくれるモードとか無い?
149はちみつ餃子 ◆8X2XSCHEME
2012/03/25(日) 01:40:49.49 lint 使えよ。
150デフォルトの名無しさん
2012/03/25(日) 11:27:59.90 >>148 -fsyntax-only
151デフォルトの名無しさん
2012/03/25(日) 21:53:44.63 何の処理もせず、時間稼ぎをしたいとき、どのような方法がありますか?
例えば、キー入力を受け付けてから、5秒あけて、入力された内容を表示するという場合です
例えば、キー入力を受け付けてから、5秒あけて、入力された内容を表示するという場合です
152デフォルトの名無しさん
2012/03/25(日) 21:54:50.20 sleep(5);
153デフォルトの名無しさん
2012/03/25(日) 22:58:58.43 >>147
gcc/testsuite/c-c++-common/tm/trxn-expr-2.c
gcc/testsuite/c-c++-common/tm/trxn-expr-2.c
154デフォルトの名無しさん
2012/03/25(日) 23:48:00.43155デフォルトの名無しさん
2012/03/26(月) 00:25:25.52 >>154
噛み付かれても、俺もわからんのだけど
gcc gcc/testsuite/c-c++-common/tm/trxn-expr-2.c -S -fgnu-tm -O2
でもやって、自力で答え見つけたら
なんとなく、ポインターアクセス経由でやってるだけな感じだけど
(思ってる答えとは違うかもね)
噛み付かれても、俺もわからんのだけど
gcc gcc/testsuite/c-c++-common/tm/trxn-expr-2.c -S -fgnu-tm -O2
でもやって、自力で答え見つけたら
なんとなく、ポインターアクセス経由でやってるだけな感じだけど
(思ってる答えとは違うかもね)
156デフォルトの名無しさん
2012/03/26(月) 17:18:46.67 gcc (GCC) 4.8.0 20120316 (experimental)
157デフォルトの名無しさん
2012/03/27(火) 15:41:50.42 macportで入れたgcc46で
gcc-mp-4.6 -march=corei7 -E -v - </dev/null 2>&1 | grep cc1
としても、>.75のようではなく
-fPIC -mmacosx-version-min=10.6.8 -march=corei7 -m64
としかででないのですけど、march=corei7の効果はないということでしょうか?
corei7をcorei7-avxやcore2にしてもどうようです。nativeにしたときだけ>>75のようにでてきます。
gcc-mp-4.6 -march=corei7 -E -v - </dev/null 2>&1 | grep cc1
としても、>.75のようではなく
-fPIC -mmacosx-version-min=10.6.8 -march=corei7 -m64
としかででないのですけど、march=corei7の効果はないということでしょうか?
corei7をcorei7-avxやcore2にしてもどうようです。nativeにしたときだけ>>75のようにでてきます。
158デフォルトの名無しさん
2012/03/27(火) 18:00:44.76 だって明示的にCPU指定したら命令セットは自明だろ
キャッシュサイズは個々に違うから指定されないわけで
キャッシュサイズは個々に違うから指定されないわけで
159デフォルトの名無しさん
2012/03/27(火) 19:31:02.63 そうか。d
ということは、corei7でmarch=nativeやmarch=corei7を使うと、
mfpmath=sseを使う意味はないという理解で大丈夫ですか?
ということは、corei7でmarch=nativeやmarch=corei7を使うと、
mfpmath=sseを使う意味はないという理解で大丈夫ですか?
160デフォルトの名無しさん
2012/03/28(水) 13:32:02.99161デフォルトの名無しさん
2012/03/28(水) 18:27:01.41 混乱中
manを読むと、-mavxは MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,SSE4.2 and AVXをサポートしているから
配布目的でなければ、-mmmxや-msseなどは付ける必要ないんだろうか?
>>75を見ると、-march=nativeをしたときには-mavxが自動的につくけど、
march=corei7-avxでは-mavxは自分で付けなければいけないということなのか?
うむむむ
manを読むと、-mavxは MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,SSE4.2 and AVXをサポートしているから
配布目的でなければ、-mmmxや-msseなどは付ける必要ないんだろうか?
>>75を見ると、-march=nativeをしたときには-mavxが自動的につくけど、
march=corei7-avxでは-mavxは自分で付けなければいけないということなのか?
うむむむ
162デフォルトの名無しさん
2012/03/28(水) 22:26:55.80163デフォルトの名無しさん
2012/03/28(水) 22:33:05.99 >>161
-marchや-mtuneは-msseや-mavxみたいなオプションのセットという認識だけどな
nativeの場合はプロセッサのフラグを呼んで有効になっている機能を使おうとするから
msseみたいな物が個別につくのでは
例えばKVMとかで仮想CPUの場合に、物理CPUにある機能が一部無効になってると個別のオプションが変わったりする
-marchや-mtuneは-msseや-mavxみたいなオプションのセットという認識だけどな
nativeの場合はプロセッサのフラグを呼んで有効になっている機能を使おうとするから
msseみたいな物が個別につくのでは
例えばKVMとかで仮想CPUの場合に、物理CPUにある機能が一部無効になってると個別のオプションが変わったりする
164デフォルトの名無しさん
2012/03/28(水) 23:01:18.78 ぶっちゃけアセンブリ出力を見たらどうか
165デフォルトの名無しさん
2012/03/28(水) 23:51:52.73 {"corei7-avx", PROCESSOR_COREI7_64, CPU_COREI7,
PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
| PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AVX
| PTA_CX16 | PTA_POPCNT | PTA_AES | PTA_PCLMUL},
if (processor_alias_table[i].flags & PTA_AVX
&& !(ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX))
ix86_isa_flags |= OPTION_MASK_ISA_AVX;
PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
| PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AVX
| PTA_CX16 | PTA_POPCNT | PTA_AES | PTA_PCLMUL},
if (processor_alias_table[i].flags & PTA_AVX
&& !(ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX))
ix86_isa_flags |= OPTION_MASK_ISA_AVX;
2012/03/29(木) 12:06:21.03
SSEにしろAVXにしろ、OSが明示的に許可してないと使えないんだから
勝手に生成されたらまずいんでね
勝手に生成されたらまずいんでね
2012/03/29(木) 12:20:20.92
自分で指定しておいて勝手にとは如何に
2012/04/09(月) 10:04:51.69
gcc -Q --help=target -march=corei7-avx
でわかるね
でわかるね
2012/04/09(月) 15:45:06.79
現在時刻を端末上で、
○時○分○秒
と表示させるにはどのような関数があるでしょうか?
環境はlinuxです。
○時○分○秒
と表示させるにはどのような関数があるでしょうか?
環境はlinuxです。
2012/04/09(月) 16:25:22.33
info gcc
そんな機能あるのか?
そんな機能あるのか?
2012/04/09(月) 16:38:51.56
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 【福岡】「人が道路に寝込んでいた。顔面から出血し、うなり声をあげている」 福岡市中央区で男性はねられ死亡 タクシー運転手逮捕 [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 高市、メガソーラー廃止。環境破壊が社会問題化 [792147417]
- クリスマスに何かする「予定なし」は54%。 過去最高水準に。ケーキの値上げもあって節約志向へ [663766621]
- 他人のリクエストで自分の癖と異なる絵を上げる絵師いるじゃん?
- なぜ日本人はフード被らないの?寒いのに
- ワイが考えてるキャラ当ててみろやwww
- 🏡おい!返事しろ︎︎!知的障害者!
