簡単なセットアップ: 関数のプロトタイプと関数の実装が n 個あります。関数ポインターの大きな配列が 1 つあります。各関数は、この配列にリストされています。gcc でコンパイルすると -Wunused-function が発生するものもあります。
コード:
void foo1(void);
void foo2(void);
void bar1(void);
void bar2(void);
/* and their implementations */
void (*functions[])(void) = { foo1, foo2, bar1, bar2 };
セットアップはこんな感じです(一例)!この foo/bar 関数の 1 つが、gcc でコンパイルするときに -Wunused-function 警告を引き起こすようになりました。他の人はしません。なんで?