[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gcov
を使って自分のコードの最適化を行なう予定なら、
まず最初に自分のプログラムをコンパイルするときに GNU CC の
特別なオプションを二つ指定しなければならない。
それを除けば、他の GNU CC のどのオプションでも使うことができる。
しかし、プログラムのあらゆる行が実行されることを確認するには、
最適化オプションは同時には指定しないほうが良い。
機種によっては、最適化により、幾つかの簡単なコード行が、他の行と
組み合わされることにより、削除されてしまう可能性があるからである。
例えば、
if (a != b) c = 1; else c = 0; |
というコードは、機種によっては一個の命令にコンパイルされることがある。
この場合、gcov
が各行毎の実行回数を別々に計算する術がない。
何故なら、各行に対応する独立したコードがないからである。
このため、このプログラムを最適化つきでコンパイルすると gcov
の
出力は以下のようになる。
100 if (a != b) 100 c = 1; 100 else 100 c = 0; |
これは、このコードブロックが、最適化により組み合わされ、100回実行 されたことを示す。 ある意味ではこの結果は正しい。この4行全体を表す命令が一個しかないから である。 だが、この出力では、結果が 0 になった回数と結果が 1 になった回数が 分からない。
This document was generated
using texi2html 1.78.