アカウント名:
パスワード:
system("sync; sync; sync");でしょ
最近のコンパイラーは賢いので、その程度では機械語を生成しません。
わかっていないのは君だ。
最近のコンパイラは恐ろしく、
printf( "hello world\n" );
と書いても、
puts( "hello world\n" );
というコードがアセンブラレベルでは出てくる。
例:
C:#include <stdio.h> intmain( int argc, char *argv[] ){ printf( "hello world\n" );}
出力結果: gcc (GCC) 3.4.4 .file "afo.c" .def ___main; .scl 2; .type 32; .endef .section .rdata,"dr"LC0:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
sync (スコア:0)
Re: (スコア:1)
system("sync; sync; sync");でしょ
Re: (スコア:1, おもしろおかしい)
最近のコンパイラーは賢いので、その程度では機械語を生成しません。
Re: (スコア:1)
加えてsystem(3)もsync(1)もわかってないコメントですね。
判っている人には野暮極まりなく、申し訳ないが… (スコア:4, 参考になる)
わかっていないのは君だ。
最近のコンパイラは恐ろしく、
と書いても、
というコードがアセンブラレベルでは出てくる。
例:
fjの教祖様
Re: (スコア:1, おもしろおかしい)
「機械語を生成しない」に釣られてたわけですね。
例に挙げられているprintf()も機械語(正確にはアセンブリですが)を出力しているわけですし。
最適化で消されるとかの表現だったらギャグと理解できたかもですが。
どう釣られてたかというと「元ACさんが
system("sync; sync; sync");
を
asm("sync; sync; sync");
と誤解しているのでは?」と私が誤解してました。もちろんsyncなどという機械語は存在しませんが。
まさかsystem()呼び出しを消してしまう壮大なギャグだとは…。
Re:判っている人には野暮極まりなく、申し訳ないが… (スコア:1)
ではなくて、文字列最後の"¥n"まできちんと消した上でputsに置き換え
ている、つまり最近のコンパイラだったら"sync;sync;sync"の部分まで
見た上で、その部分も書き換えて最適化しかねない、ということでは。