c++

您所在的位置:网站首页 炉石遇到bug怎么处理 c++

c++

2024-07-10 16:40:44| 来源: 网络整理| 查看: 265

C ++如何处理多个源文件? 时间:2009-11-24 01:05:31

标签: c++ compiler-construction header-files

我正在学习C ++,来自Python的背景,我在理解C ++如何处理多个源文件方面遇到了一些麻烦。在Python中,import语句首先检查您尝试导入的模块的当前工作目录,然后检查sys.path中的目录。在C ++中,我将在哪里放置自定义的.h文件?编译器甚至会在哪里看?

例如,我有一个程序,foo.exe从单个源文件foo.cpp编译,两者都在同一目录中。我决定要把事情组织得更好一些,所以我创建了一个新的.h文件,bar.h并在那里转储东西。我只需要#include来获取我放在那里的东西吗?如果我想将bar.h与另一个程序(在完全不同的目录中)一起使用该怎么办?

6 个答案:

答案 0 :(得分:2)

有两种include变体:

#include "path-spec" #include

引用符号:

  

此表单指示预处理器在包含#include语句的文件的同一目录中查找包含文件,然后在包含(#include)该文件的任何文件的目录中查找。

括号表示法在某些已定义的位置查找头文件。

使用gcc,您可以通过以下方式获取有关这些广告的一些信息:

$ echo | gcc -v -x c++ -E -

编译器接受

-I or /I

添加其他路径的选项。

答案 1 :(得分:1)

如果您使用#include ,它(通常)会在包含路径中查找,否则如果您使用#include "../../foo/bar.h"则会使用相对路径。

您在大多数编译器上设置包含-I或/I的路径。有关详细信息,请参阅其手册。

不要在标题中定义任何对象 - 如果你这样做,你会在链接时有多个定义错误(并在多个源文件中包含标题)。

答案 2 :(得分:1)

它以类似的方式工作。 #include仅供编译器使用。在执行时,文件bar.h不会被使用。但在编译时它是。 在编译时,文件可以在两个地方: 1.-当前目录(如python中) 2.-包含路径中配置的目录。配置目录的位置取决于您使用的编译器。其中大多数允许您在编译命令行中定义include目录。大多数IDE允许您在某些“选项”菜单中对其进行配置。

希望它有所帮助。

答案 3 :(得分:1)

如果您的头文件位于同一个目录中,您可以将它们包括在内:

#include "bar.h"

如果你想从另一个目录中包含这个标题:

#include "../foobar/bar.h"

基本上引用意味着从当前目录搜索,而#include 中的括号意味着在标准头文件目录中搜索。您可以通过在编译命令中添加-I /path/to/your/custom/headers将自定义目录添加到标准搜索路径。

答案 4 :(得分:0)

带有尖括号的#include在系统包含目录中查找。像这样: #include

使用双引号,它会查看当前目录以及给编译器搜索的其他目录 #include "foo.h" g++ -I../include foo.cpp

答案 5 :(得分:0)

你在python模型中缺少的是链接器。

在python中导入代码并在那里解释它。在c / c ++中,您将每个源文件编译为目标文件。然后,您告诉链接器将一堆目标文件收集到可执行文件中

通常,c / c ++源文件中的包含仅包含其他C文件中的whast(函数名称等)的描述,而不包含函数内容。这足以让编译器编译给定的文件。然后链接器将您的目标文件与“众所周知”的函数库组合在一起并生成可执行文件



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭