首先得知道C语言中.c文件是用来执行的, .h文件是用来引用的, 两者的分工功能明确, 不像Java那样一个.java文件两件事都能做
引用时如果静态检查出错(破浪线报错), 是因为没有在VScode中配置路径:
打开c_cpp_properties.json文件, 在"includePath"的路径后面都加上 /** - {
- "configurations": [
- {
- "name": "Win32",
- "includePath": [
- // 在这里的路径后面都加上/**
- "${workspaceFolder}/**",
- "F:/Environment/MinGW/mingw64/include/c++/11.2.0/bits/**"
- ],
- "defines": [
- "_DEBUG",
- "UNICODE",
- "_UNICODE"
- ],
- "compilerPath": "F:\\Environment\\MinGW\\mingw64\\bin\\gcc.exe",
- "cStandard": "gnu17",
- "cppStandard": "gnu++14",
- "intelliSenseMode": "windows-gcc-x86"
- }
- ],
- "version": 4
- }
复制代码
但是还有一个坑, 引入自己文件夹下的文件没有问题,但是引入别的文件夹下的.h文件还是会报错: fatal error: ./linked_list.h: No such file or directory
因为需要在头文件中加上相对路径, 比如: - #include <stdio.h>
- #include "../linear-list/linked_list.h"
- // 注意这里是双引号!
复制代码 |