如图下图所示,当我们想要使用 C 语言读写锁类型时,IntelliSense 会提示如下未定义的错误:

IntelliSense 提示错误
但是,如果忽略这些错误,直接 `gcc -o` 程序又没有问题。通过查看头文件 `pthread.h` 可知,要使用读写锁类型,要定义宏 `_GNU_SOURCE`。

直接编译成功可能是因为 `gcc` 默认给我们预定义了该宏。

虽然这样可以解决部分问题,但是,代码上总有错误提示,很难受。解决办法如下:

  1. 输入命令,打开 IntelliSense 配置
> C/C++: 编辑配置(UI)
  1. C 标准 从 c 改为 gun

C 标准从 c 改为 gun