什么是翻译单位"翻译单位"在[lex.phases] /1.8中提到?

时间:2017-05-13 18:06:57

标签: c++ language-lawyer

我的第一个想法是,这个术语并不需要标准中的正式定义,因为它可以通过使用英语来推断,也就是说,翻译的翻译单元只是由文档生成的目标文件。来自其通讯翻译单位的编译器。但鉴于[lex.phases] /1.8中的文字,我不确定这是否是正确的解释,如下所示:

[lex.phases]/1.8

  

翻译的翻译单元和实例化单元组合如下:[注意:部分或全部可能来自   图书馆。 - 结束注释]检查每个翻译的翻译单元   生成所需实例化的列表。 [注意:这可能包括   已经明确要求的实例化(14.7.2)。 - 结束   note]找到所需模板的定义。它是   实现 - 定义是否是翻译单位的来源   需要包含这些定义。 [注意:一个   实现可以将足够的信息编码到   已翻译的翻译单元,以确保此处不需要来源。 - 结束注释]所有必需的实例都是   执行以生成实例化单元。 [注意:这些类似于   已翻译的翻译单元,但不包含对未实例化模板的引用,也不包含模板定义。 - 注意]   如果任何实例化失败,程序就会格式不正确。

0 个答案:

没有答案