C++在#include命令中,用〈 〉和“”有什么区别?

2024年11月16日 18:48
有5个网友回答
网友(1):

使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找; 使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。

下面是MSDN的解释
""
This form instructs the preprocessor to look for include files in the same directory of the file that contains the #include statement, and then in the directories of any files that include (#include) that file. The preprocessor then searches along the path specified by the /I compiler option, then along paths specified by the INCLUDE environment variable.

<>
This form instructs the preprocessor to search for include files first along the path specified by the /I compiler option, then, when compiling from the command line, along the path specified by the INCLUDE environment variable.

网友(2):

上面的都是说的vc。
在C++标准中,<> 表示使用的库是标准库。因为标准库有多个版本,各版本的用的头文件是不同的,所以要求编译器对它有一些特殊的处理。它会把各个实现版本内容转化成标准的格式。至于如何做一家的编译器有一家的办法。

网友(3):

"":运行前在同一目录文件下寻找需要包含的文件,然后沿着包含文件的路径运行INCLUDE的编译程序和环境变量等。
<>:运行前首先沿着/I编译选项寻找包含文件,然后当编译到命令行时,才编译INCLUDE的环境变量等。

网友(4):

尖括号中的文件是系统文件,库文件,编译器会自动冲系统目录中进行搜索,例如在c:\******\include\,双引号中的文件一般为自己定义的文件,编译器会在你当前的工作目录中搜索。所以在编程过程中,系统文件用尖括号,自定义的文件用双引号。

网友(5):

我们书上是写:
<>是指在指定的目录下找,不可能是自定义的;
" "是指首先在当前的源文件目录中找,若未找到再到包含目录中去找,可以是自定义的文件 。