別のチームが提供するいくつかの静的ライブラリにリンクする Android NDK を使用して、C でライブラリを構築しています。これらのライブラリのいずれかで定義されているが、インポートされたヘッダーで宣言されていない関数を呼び出しても、コンパイラからエラーや警告は表示されません。コンパイラは、私が渡す引数が正しい型であると想定しているようです。関数を間違って呼び出して知らない可能性があるため、これは好きではありません。
たとえば、静的ライブラリに「void MyFunc(int a, char *b);」のような関数が含まれている場合、次のそれぞれでエラーが発生すると予想されます。
- MyFunc();
- MyFunc(1, 2);
- MyFunc(1, '2', 3);
関数の宣言を含めると、コンパイラはパラメーターの数と型が正しいことを強制します。
宣言されていない関数が呼び出されたときにエラーまたは警告を表示するように NDK コンパイラに指示する方法はありますか?