スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net

457デフォルトの名無しさん
垢版 |
2025/03/26(水) 03:07:05.06ID:Jz1d/5gc
いまどきのCって、
unsigned long foo(double d)
{
union {
double d;
unsigned long i;
} u;

u.d = d;
return(u.i);
}
みたいなコードでも、dをメモリに置かずにレジスタ間コピーしてくれる
みたいですけど、いつ頃からこの様な最適化がされる様になったのでしょうか?
2025/03/26(水) 12:29:46.04ID:bllph6O/
>>457
90年代ですでに引数渡し出来てました。構造体も渡せたけどコピーになるから嫌われてたけど
2025/03/26(水) 12:34:43.30ID:bllph6O/
あ、すんません。そんなレベルの低い話ではないか。
レジスタで。というのはCPUとコンパイラの実装次第なので環境がわからないと何とも言えないような
amd64ならwandboxで色んなバージョンのコンパイラ試せますね
2025/04/02(水) 12:04:47.44ID:k9Y5euIy
質問とunion関係無いな
質問者の意図が判らなくなるから
サンプルコードは必要最小限に汁
2025/04/18(金) 23:55:23.11ID:fcq5sslE
これってオンラインコンパイラだとどう解釈するの?

#include <stdlib.h>

int main(void)
{
system("echo %userprofile%");
return 0;
}
2025/04/19(土) 00:25:22.10ID:pHc+GibA
やってみたら。つうても対策されてると思うが
2025/04/29(火) 20:19:22.42ID:DUP3Wr3v
win系しか動かないけど対策されてましたね
uname -m は(ゴニョゴニョ
464デフォルトの名無しさん
垢版 |
2025/06/15(日) 00:52:24.70ID:bHsxd1q/
>>454

https://www.youtube.com/watch?v=5u37MSvtyS8&t=304s
2025/06/15(日) 02:33:43.84ID:Z0IlVPbF
>>457
未定義動作のコードよく平気で晒せるなw
2025/06/15(日) 12:46:20.31ID:fnOcR7T7
たまたまだよな
メモリーサイズ的に辻褄合ってただけ
467デフォルトの名無しさん
垢版 |
2025/08/13(水) 13:49:35.64ID:tVAPSf7h
0からの、超初心者C++相談室
は、1000から次スレ立ってないけど、ここでいいの?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況