包含文件存储在哪里 - Ubuntu Linux、GCC

2024-03-10

因此,当我们执行以下操作时:

#include <stdio.h>

versus

#include "myFile.h"

编译器(在我的例子中是 GCC)知道 stdio.h(甚至目标文件)在我的硬盘上的位置。它只是利用这些文件,没有与我互动。

I think在我的 Ubuntu Linux 机器上,文件存储在/usr/include/. 编译器如何知道去哪里寻找这些文件?这是可配置的还是这只是预期的默认值?我该去哪里寻找这个配置?

Since I'm asking a question on these include files, what are the source of the files? I know this might be fuzzy in the Linux community but who manages these? Who would provide and manage the same files for a Windows compiler.

我一直有这样的印象:他们come与编译器,但这是一个假设......


看这里:搜索路径 http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html

Summary:

#include <stdio.h>

当包含文件位于括号中时,预处理器首先在通过-I旗帜。然后它搜索标准包含路径(请参阅上面的链接,并使用-v标志以在您的系统上进行测试)。

#include "myFile.h"

当包含文件用引号引起来时,预处理器首先在当前目录中搜索,然后搜索由-iquote, then -I路径,然后是标准路径。

-nostdinc可用于阻止预处理器搜索标准路径。

环境变量 http://gcc.gnu.org/onlinedocs/cpp/Environment-Variables.html#Environment-Variables也可用于添加搜索路径。

编译时如果使用-v标记您可以看到使用的搜索路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

包含文件存储在哪里 - Ubuntu Linux、GCC 的相关文章

随机推荐