在某些头文件中应用 '/'
Application of '/' in some header files
最近我遇到了一些头文件,比如
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <bits/stdc++.h>
我想知道为什么使用'/'的实际原因。
到目前为止,我已经把它作为一个操作,包括一个更大的头文件的子头文件,就像Java
import java.util.Scanner;
,
如果您删除'/'并尝试将头文件作为整体包含
它显示一个错误,头文件不存在。
请澄清关于这个问题的混淆。
目录分隔。例如,目录sys
有一个名为socket.h
的头文件。
作为文件系统中的路径,它可以是多个级别的。你可以有#include <some/sub/directory/with/a/file.h>
斜杠(/
)与反斜杠()(或其他任何东西)的实际使用并不是标准化的,而是取决于系统。然而,所有主要平台都支持斜杠(
/
)作为路径中的分隔符,所以它是最常见的。
硬盘上的文件被组织到目录(或"文件夹")中。
文件的全名由它的路径标识,它可以命名几个这样的目录,用斜杠字符(/
)或反斜杠字符()分隔。
阅读更多:
- https://en.wikipedia.org/wiki/Directory_(计算)
- https://support.dtsearch.com/webhelp/dtsearch/relative_paths.htm
当您构建一个c++文件时,预处理器将查找您指定的要包含在一组目录(默认目录+您在命令行上传递的目录)中的文件。
对于每个#include <something>
,它尝试打开BASE_DIR/something
,其中BASE_DIR
是上述目录之一。
所以sys/socket.h
表示预处理器应该尝试深入到子目录sys
并打开socket.h
相关文章:
- 使用VerQueryValue检索应用程序的文件描述
- 在安卓应用程序中使用.exe文件
- 为什么从文件获取图标时应用程序有时会崩溃?
- make 命令创建 .file,但不创建应用程序文件
- 在 Win32 应用中,如果未选择文件夹并且用户单击"确定",则文件夹选择对话框将关闭
- 如何在Windows窗体应用程序中打开txt文件并将行导入文本框
- 在不打开应用程序的情况下在MinGW c++中播放声音(.wav)文件
- 将文件从 iOS 应用程序加载到 C++ 对象中/<iostream>iOS 上的问题
- 从Qt应用程序执行MSI文件
- 根据应用程序是否已自动化显示不同的 QML 文件
- 在应用程序启动时读取文件
- 如何从二进制文件中获取应用程序的版本号?
- 如何在 Azure 应用服务中使用 cl.exe 编译 C++ 代码并生成可执行文件
- 如何在 CentOS 7 中为应用程序生成具有完整回溯C++的核心转储文件
- 如何将SQLite c文件(合并)与cpp应用程序链接?
- 从头开始为使用Qt的应用程序制作简约的构建文件
- VS Express 2015 Win10 应用程序 - ifstream 无法打开文件
- 在没有外部文件的情况下在应用会话之间保存变量
- 跨所有操作系统应用文件状态(Stat的结构类型)
- 为什么Xcode 4.2为.cpp文件应用C文件构建规则脚本?