アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
素朴な疑問 (スコア:0)
この辺の確認というか保障は誰がしているんでしょうか?
あと確認用のテスト項目リストとかあります?
Re:素朴な疑問 (スコア:4, 参考になる)
たとえば、
#include <stdio.h>
float *conv(int *ptr) { return (float *)ptr; }
int main(int ac, char **av) {
int x = 10;
float *p = conv(&x);
*p = 0.1;
printf("%d\n", x);
return 0;
}
このプログラムは、期待した動作が行われません。
コンパイラの最適化や、コンパイラバージョンに依存したり、周辺
Re:素朴な疑問 (スコア:1, すばらしい洞察)
何を期待しているのか分かりません。解説求む!
Re:素朴な疑問 (スコア:5, おもしろおかしい)
元のプログラムを見たあなたが、
1)プログラムの意図が分からない→ポインタのお勉強をしましょう
2)10と表示されると思った→やっぱりポインタのお勉強をしましょう
3)結果が投稿者の書いたとおり、0.1のビットパタンが表示される
(X86系だと1036831949=0x3dcccccd)
→ANSI-Cのtype-punningについて調べる事をお勧めします。
4)結果は不定で分からない。→規格に精通したその筋の人。
5) gcc-2.95 以前であれば1036831949が表示されるはずで、
gcc-2.96以降だと-O2より強い最適化を施せば結果は10になるが、
そうでなければ、、、、
→ うるさい、だまれ!!
Re:素朴な疑問 (スコア:0)
一昔前の__volatile__を付けないとIO命令が消えてしまうというという 問題点に似たものですよね。 IOの問題は/usr/includeファイルで対応されたので、 この問題も同様な対応がされるのかな?
Re:素朴な疑問 (スコア:2, すばらしい洞察)