#include ""和#include <>的区别

发布时间 2023-04-12 15:39:54作者: 踏浪而来的人

现study目录有三个目录:src、include、obj

src目录下有main.c、func1.c

include目录下有func1.h

//main.c
#include "func1.h"
#include <stdio.h>
int main()
{
  func1();
  printf("this is main\n");
  return 0;        
}
//func1.c
void func1()
{   printf(
"this is func1\n");   return ; }
//func1.h
void func1();

#include ""

  1. 表示从包含该头文件的文件(即main.c所在的路径)所在路径下找

  2. 如果没找到就从系统所制定的默认路径下找(如usr/include或usr/local/include)

  很显然,在main.c中#include "func1.h",func1.c既不在main.c所在的路径,又不在系统的默认路径,

  所以在编译时需要我们手动去指定头文件所在的路径。

  当前在study目录下,即用gcc -c -Wall ./src/main.c -I(大写的i) ./include