e27.c
未使用変数を消せ!!





struct tag {
char buf[0x1000] ;
} ;
修正前
static void No(void)
{
int i ;
struct tag useBigstruct ;
スタック浪費 0x1000byte(最適化しても浪費します)
struct tag unuseBigStruct ;
処理速度低下:最適化を阻害する時有り、
register j,k,l,m,n,o,p,q ;
for(i = 0 ; i < sizeof(useBigstruct.buf) ; i++) {
useBigstruct.buf[i] = 0 ;
}
}
修正後
static void Yes(void)
{
struct tag useBigstruct ;
int i ;
for(i = 0 ; i < sizeof(useBigstruct.buf) ; i++) {
useBigstruct.buf[i] = 0 ;
}
}
解説:
この警告が多量に出る時は、
以下の事が考えらえます。
(1) セルフチェック/クロスチェックを行っていない。
=>当初は必要であったが、修正しているうちに
不要になった。
(2) オリジナル関数をコピーして、微修正した。
=>似て非なる関数が他にある。
etc...