为了账号安全,请及时绑定邮箱和手机立即绑定

什么是C+中的“翻译单元”?

什么是C+中的“翻译单元”?

C++ C
qq_遁去的一_1 2019-06-04 17:33:05
什么是C+中的“翻译单元”?当时我正在读梅耶斯写的“有效C+”一词,并遇到了“翻译单位”这一术语。有谁能给我解释一下:1)究竟是什么?(2)在用C+编程时,我什么时候应该考虑使用它?3)如果它只与C+相关,或者可以与其他编程语言一起使用我可能已经在不知道这个词的情况下使用了.
查看完整描述

3 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

从…这里: (回送机连接)

根据标准C+ (回送机连接翻译单位是C+编译的基本单位。它包含单个源文件的内容,再加上它直接或间接包含的任何头文件的内容,减去使用条件预处理语句忽略的行。

可以将单个翻译单元编译成对象文件、库或可执行程序。

在“一个定义规则”和“模板”的上下文中,最常提到的是翻译单元的概念。


查看完整回答
反对 回复 2019-06-04
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

一个很难回答的问题。C+标准声明:

程序的文本保存在本国际标准中称为源文件的单元中。通过预处理指令#include,源文件连同所有头(17.4.1.2)和包含(16.2)的源文件一起,减去任何条件包含(16.1)预处理指令跳过的任何源行,称为翻译单元。注:C+程序不必同时翻译。]

因此,对于大多数意图和目的,翻译单元是一个单一的C+源文件,它通过预处理器#include机制包含的头文件或其他文件。

关于你的其他问题:

(2)在用C+编程时,我什么时候应该考虑使用它?

你不能认为它-翻译单位是一个C+程序的基础。

3)如果它只与C+相关,或者可以与其他编程语言一起使用

其他语言有相似的概念,但它们的语义会微妙地不同。例如,大多数其他语言不使用预处理器。


查看完整回答
反对 回复 2019-06-04
  • 3 回答
  • 0 关注
  • 1986 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信