カスタムLinuxカーネルをコンパイルするときにいくつかの警告が表示されます。私は(デバッグ用の)コードを次のように減らしました:
int sw_totcp(struct ip_vs_service *svc)
{
return(1);
}
EXPORT_SYMBOL(sw_totcp);
int (*sw_totcpcall)(struct ip_vs_service *) = &sw_totcp;
EXPORT_SYMBOL(sw_totcpcall);
そして、まだこれらの警告を受け取ります(関数と関数ポインターの両方について):
warning: data definition has no type or storage class [enabled by default]
warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’ [-Wimplicit-int]
warning: parameter names (without types) in function declaration [enabled by default]
これらは、次のようなヘッダーファイルで適切に宣言されています。
extern int sw_totcp(struct ip_vs_service *);
extern int (*sw_totcpcall)(struct ip_vs_service *);
何が悪いのでしょうか?