e5779.c

毎回初期化される大きな配列

/* 警告:   B:e5779:  この大きなconst配列 "message_list" は毎回初期化されるのでstaticにした方がいいかもしれません */

修正前 void x() { const char* message_list[] = { "test_msg1", "test_msg2", … "test_msg100" }; … } 修正後 void x() { const static char* message_list[] = { "test_msg1", "test_msg2", … "test_msg100" }; … }
解説 staticで無いローカル変数の配列は関数が呼ばれるごとに毎回初期化されるので、重くなります。 定数の配列として使っているのであれば、const staticにして下さい。 (定数の配列では無く、配列要素の値を変更する場合はstaticかどうかで動作が変わるのでご注意下さい)