07/07/22 20:52:46
三(笑)
( *´ω`)ムシャムシャ
つi'"':
`、:_i'
| ┌┐
│ ││ ││ 若干食べられてしまったが
| ││ ││ >>772はC++より安く見えることがわかる
| ││ ││
└──────
C++上級者(笑) >>772
774:デフォルトの名無しさん
07/09/24 07:47:59
defineの代わりにconstを使うよう推奨されているのに、コンパイラのソースを見ると
大量にdefineが使われているのはなぜ???
775:デフォルトの名無しさん
07/09/24 09:54:14
もともとCで書かれていたか、
実はCとしてコンパイルするようになっているか、
書いた人間がconst推奨を知らなかったか。
776:デフォルトの名無しさん
07/09/24 12:36:23
Cと共用なんだろ。
何を悩む必要がある
777:デフォルトの名無しさん
07/09/24 19:44:30
>>774
錯覚が目
778:デフォルトの名無しさん
07/09/28 00:10:08
>>774
システムのベンダとユーザは事情も、従うべきルールも違う。
システムヘッダの真似してアンダースコアで始まる名前を使うような人大杉。
引数に渡す定数を参照させるだけのために、
オブジェクトのリンクを強要するDLLなんかありえないし、
他の言語とリンクさせるときや、バイナリ互換性が問題なら、
定数の具体的な値をはっきり公開するしかない。
それに、Cでは配列サイズにconst整数を使えない。
779:デフォルトの名無しさん
07/09/28 01:31:32
constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
DLLなんて関係ないけど、ほかは合っているや。
780:デフォルトの名無しさん
07/09/28 03:04:35
>>constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
プレーンCモードでコンパイルされたときに実体が増殖し放題で
リンクエラーになるからDLLベンダがそれをやったら配慮不足だ。
よく分かってないハード屋寄りのユーザとかが目を回すからな。
このスレ的にはC++コンパイラだとそれができるっていうのは大事だけどな。
781:デフォルトの名無しさん
07/09/28 10:10:17
ぷ
782:デフォルトの名無しさん
07/10/11 01:31:51
const だと余計にメモリ消費するからヤなんじゃないの?
783:デフォルトの名無しさん
07/10/12 23:21:57
staticにすらば、アドレス参照とかしなければ実体は取り除かれるんじゃないの?
コンパイラの能力にによるだろうけど
784:デフォルトの名無しさん
07/10/13 01:50:27
>>783
C++ では const つけた名前空間スコープのオブジェクトはデフォルトで
内部リンケージになる。 static は要らない。
785:デフォルトの名無しさん
07/10/20 22:13:19
static const volatile unsigned long long int X;
は意味無しか
786:デフォルトの名無しさん
07/11/01 04:00:31
インテルコンパイラでループをSSEで計算させようとしているのですが、
コンパイル時に
loop was not vectorized: dereference too complex
というレポートを返してきます。
これは具体的にはどのような問題があるといっているのでしょうか?
787:デフォルトの名無しさん
07/11/01 17:32:37
>>786
そのままじゃね?
逆参照が複雑過ぎてベクトル化出来なかったお
意味は、その箇所にSSE使えなかったと
ポインタポインタポインタ使ったとか間接的なイテレータ使ったとか?コード見てないからなんとも言えないけど。インテルコンパイラ使ったことないし。
788:デフォルトの名無しさん
08/01/22 16:22:42
インテルコンパイラとgccだとやっぱり最適化はインテルの方が上?
789:デフォルトの名無しさん
08/01/22 18:18:26
上。特に、オブジェクト間最適化は凄い。
790:デフォルトの名無しさん
08/02/24 17:30:31
オブジェクト間最適化って何?
791:デフォルトの名無しさん
08/02/24 18:03:39
リンクの段階で最適化かけるんじゃないの
792:デフォルトの名無しさん
08/03/20 10:54:39
それならVC8も負けてないぜ。
リンク時間の長さがそれを証明してくれている。
793:デフォルトの名無しさん
08/03/20 11:48:43
pgi使え