我想解释一下< header.h>和库#include
指令中的“header.h”。链接器如何搜索文件的确切位置(在哪些位置)?它以什么顺序执行搜索?
答案 0 :(得分:0)
当我们写<stdio.h>
时,我们指的是一个头文件,该文件在系统的include目录中可用。当我们写#include <stdio.h>
时,预处理器在系统包含目录中而不是在当前目录中搜索头文件。当我们编写#include "stdio.h"
时,预处理器开始在当前目录中搜索此头文件,然后在其父目录中搜索。因此,如果我们编写自己的stdio.h
,将其保存在当前目录中,并使用#include "stdio.h"
将其包含在程序中,那么将包含我们的标头而不是系统标头。
简而言之,如果我们使用尖括号(<>
),那么我们指示如果标准目录中的文件可以在一个文件中找到
系统。如果我们使用引号(" "
),那么我们指示正在使用非标准头。