我正在使用 Android NDK 用 C 语言构建一个库,该库链接到另一个团队提供的一些静态库。如果我调用在其中一个库中定义的函数,但未由我导入的任何头文件声明,则编译器不会收到任何错误或警告。看起来编译器假定我传入的参数是正确的类型。我不喜欢这样,因为我可能会错误地调用该函数并且不知道它。
例如,如果静态库包含像“void MyFunc(int a, char *b);”这样的函数,那么我预计以下每个都会产生错误:
- 我的函数();
- MyFunc(1, 2);
- MyFunc(1, '2', 3);
如果我包含函数的声明,那么编译器会强制参数的数量和类型是正确的。
有没有办法告诉 NDK 编译器在调用未声明的函数时显示错误或警告?