タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

codeとcleanupに関するkiyo_hikoのブックマーク (1)

  • デッドコード削除 - Wikipedia

    int foo() { int a = 24; int b = 25; /* 参照されない変数への代入 */ int c; c = a << 2; return c; b = 24; /* 実行されないコード */ } 変数bにはreturn文の後に値が代入されているが、これは実行されない。すなわち、コードの実行は逐次的であり、return文が何らかの条件で囲まれているわけでもないので、return文の後のコードは実行不可能(到達不可能)である。ただし、例えばreturn文の後にラベルがあって、どこかから分岐して飛んでくる場合は、その限りではない。 さらに、この代入文を削除すると、bという変数が初期値を代入したとき以外では全く使われないことがわかる。オプティマイザがどこまで積極的に最適化するかにもよるが、変数bは生成されるコードから完全に削除される可能性もある。 関数内で何らかの計算が行わ

    kiyo_hiko
    kiyo_hiko 2011/03/28
    まったく実行されないコードを削除する。関連:意味はないが実行されるコードを冗長コードというらしい。
  • 1