如图下图所示,当我们想要使用 C 语言读写锁类型时,IntelliSense 会提示如下未定义的错误:
IntelliSense 提示错误
但是,如果忽略这些错误,直接 `gcc -o` 程序又没有问题。通过查看头文件 `pthread.h` 可知,要使用读写锁类型,要定义宏 `_GNU_SOURCE`。
直接编译成功可能是因为 `gcc` 默认给我们预定义了该宏。
虽然这样可以解决部分问题,但是,代码上总有错误提示,很难受。解决办法如下:
- 输入命令,打开 IntelliSense 配置
> C/C++: 编辑配置(UI)
- C 标准 从 c 改为 gun
C 标准从 c 改为 gun