当前位置: 首页 > 面试题库 >

包含文件的存储位置-Ubuntu Linux,GCC

张鹏云
2023-03-14
问题内容

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

#include <stdio.h>

#include "myFile.h"

编译器(在我的情况下为GCC)知道stdio.h(甚至是目标文件)在我的硬盘上的位置。它只是利用文件,而没有我的参与。

认为 在我的Ubuntu Linux机器上,文件存储在/usr/include/编译器如何知道在哪里寻找这些文件?
这是可配置的还是仅仅是预期的默认值?我在哪里寻找这种配置?

由于我要问这些包含文件的问题,这些文件的来源是什么?
我知道这在Linux社区中可能很模糊,但是谁来管理这些?谁将为Windows编译器提供和管理相同的文件。

我总是觉得它们 随编译器 一起 提供的,但这只是一个假设。


问题答案:

请参阅此处: 搜索路径

摘要:

#include <stdio.h>

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

#include "myFile.h"

当包括文件是在引号在当前目录中的预处理器首先搜索,然后通过指定的路径 -iquote ,然后 -I 路径,则标准路径。

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

环境html" target="_blank">变量也可以用于添加搜索路径。

如果使用 -v 标志进行编译,则可以看到所使用的搜索路径。



 类似资料:
  • 我是Java新手,刚刚下载了Eclipse并编写了我的第一个Hello World程序 我想知道包java.util的存储位置是什么?这个包存储在我的电脑上的哪里?我使用苹果电脑。

  • 我正在开发一个Spring项目,我刚刚在 junit 中加载 XML 配置文件时遇到了严重的问题(但它们可以从 Web 控制器访问) - 无法加载 XML 文件。 我列出了我的类路径(在jUnit测试中),发现在其余目录中,包括2个目录: 我只想在测试中包含一个文件: < Li >/we b-INF/lyricsbasapp-servlet . XML 它导入以下3个文件: < li>/WEB-I

  • 问题内容: 我可以轻松删除子引用中的文件,但是如何从Firebase Storage中删除整个文件夹? 错误文件不存在。有任何想法吗? 问题答案: 长话短说,我们尚未实现递归(或文件夹)删除。 目前,我们建议将文件列表存储在另一个源(例如,实时数据库)中,并根据需要删除文件。您也可以在Firebase控制台(console.firebase.google.com)中执行这种删除。 将来,我们可能会

  • 问题内容: 我想知道在检查代码时是否应该在回购中跟踪node_modules或进行npm安装? 问题答案: 答案并不像阿尔贝托·扎卡尼(Alberto Zaccagni)所建议的那样容易。如果您开发应用程序(尤其是企业应用程序),则在git repo中包含node_modules是一个可行的选择,您选择哪种选择取决于您的项目。 因为他非常反对node_modules,所以我将集中讨论它们的参数。

  • 本文向大家介绍MySQL数据文件存储位置的查看方法,包括了MySQL数据文件存储位置的查看方法的使用技巧和注意事项,需要的朋友参考一下 我们可能会有一个疑惑,那就是:当我们在本地(自己的电脑)安装完 MySQL 之后,也创建了很多的数据库啊、表啊,也存储了很多的数据啊,但是这些内容都存储到哪里了呢?特别是,当我们需要直接操作这些数据文件的时候,翻遍了整个电脑,却找不到 MySQL 的数据文件到底在

  • 我正在为我的大学OOP课程做一个学期项目。我正在做一个餐厅管理系统作为我的项目。 我有一个Order类、Main类和常量存储在一个名为GlobalConstants的类中。 我在这个网站上读到一篇文章说常量应该在相关的类中。我有一个运行在静态块中的方法,从文件中读取订单数据(订单号,时间,项目等),并将其存储在ArrayList(静态和最终)中,该ArrayList可由Main类中的多个方法访问。