小编bjo*_*alm的帖子

C - 编译程序时出现多个警告“指针缺少可空性类型说明符”,我该怎么办?

我最近开始在编译 C 程序时遇到问题,从stdio.hstdlib.h等不同的 C 包中收到 10、20 或 100 个警告。

警告有所不同,但通常是这样说的:

/usr/local/include/_stdio.h:93:16: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or
      _Null_unspecified) [-Wnullability-completeness]
        unsigned char   *_base;
Run Code Online (Sandbox Code Playgroud)

我的程序仍然可以编译并运行良好,但我担心这需要修复,而且在终端中收到所有这些警告也非常烦人。

我几乎可以肯定这些警告在我将系统更新到 macOS Catalina 后开始显示,但我不知道从哪里开始解决它。

更具体地说,当我像这样编译一个简单的helloworld.c程序时

#include <stdio.h>

int main (void) {
    printf("Hello World!"); 
    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

使用以下命令:

make helloworld 
Run Code Online (Sandbox Code Playgroud)

或者

gcc helloworld.c -o helloworld 
Run Code Online (Sandbox Code Playgroud)

..我收到以下警告,即使程序实际编译。

In file included from helloworld.c:1:
In file included from /usr/local/include/stdio.h:64:
/usr/local/include/_stdio.h:93:16: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, …
Run Code Online (Sandbox Code Playgroud)

c macos stdio clang macos-catalina

8
推荐指数
1
解决办法
1978
查看次数

标签 统计

c ×1

clang ×1

macos ×1

macos-catalina ×1

stdio ×1