最近我遇到了一些像
这样的头文件 #include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <bits/stdc++.h>
我想知道为什么使用&#39; /&#39; 的实际原因。
到目前为止,我已将其作为一个操作来包含更大的头文件的子头文件,就像Java一样
import java.util.Scanner;
但
如果您删除了&#39; /&#39;并尝试将头文件包含在整个中
它显示头文件不存在的错误。
请清楚这个问题的混乱。
提前致谢。
答案 0 :(得分:3)
目录分离。例如,目录sys
有一个名为socket.h
的头文件。
作为文件系统中的路径,它可以是多个级别。您可以#include <some/sub/directory/with/a/file.h>
。
斜杠(/
)与反斜杠(\
)(或其他任何其他)的实际使用不是标准化的,而是取决于系统。但是,所有主要平台都支持斜杠(/
)作为路径中的分隔符,因此它最常见。
答案 1 :(得分:3)
硬盘上的文件被组织到目录(或“文件夹”)中。
文件的全名由其路径标识,路径可以命名其中几个目录,用斜杠字符(/
)或反斜杠字符(\
)分隔。
在这里阅读更多内容:
答案 2 :(得分:1)
当您构建c ++文件时,预处理器会查找您指定包含在一组目录中的文件(在命令行上传递的默认文件+目录)。
对于每个#include <something>
,它会尝试打开BASE_DIR/something
,其中BASE_DIR
是上述目录之一。
所以sys/socket.h
表示预处理器应该尝试深入研究子目录sys
并打开socket.h