#include 指令

#include 基本概念

  • #include 是C语言的预处理指令之一,所谓预处理,就是在编译之前做的处理,预处理指令一般以#开头
  • #include 指令后面会跟一个文件名,预处理器发现 #include 指令后,就会根据文件名去查找文件,并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源文件中的 #include 指令,就像你把被包含文件中的全部内容拷贝到这个 #include 指令所在位置一样。

#include后面 <> 和 “” 的区别

  • <> 代表先从开发工具的编译环境中去查找,如果编译环境没有找到,那么再去系统的编译环境中查找

  • “” 代表会先从当前文件所在的文件夹下面查找,如果在当前文件所在文件夹下没有找到,则再去开发工具的编译环境中去查找,如果编译环境没有找到,再去系统的编译环境中查找

    • 开发编译环境路径径:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
    • 系统编译环境路径:
      /usr/include
      /usr/local/include

注意:

  • #include 后面不一定要写文件名称,也可以写路径(相对路径/绝对路径)
  • #include “pub/test.txt”;

多文件开发

创建第二个.c文件

#include 指令
#include 指令
#include 指令

代码实现

test.c

#include "test.h"

int sum(int v1, int v2) {
    return v1 + v2;
}

test.h

#ifndef test_h
#define test_h

#include <stdio.h>

// 声明函数
int sum(int v1, int v2);

#endif /* test_h */

main.c

#include <stdio.h>
#include "test.h"       // 引入test.h 头文件

int main(int argc, const char * argv[]) {
    int result = sum(10, 20);       // 调用sum函数
    printf("result --> %i\n", result);
    return 0;
}