【问题标题】:Is a header file a translation unit? [closed]头文件是翻译单元吗? [关闭]
【发布时间】:2020-09-24 12:52:42
【问题描述】:

头文件是翻译单元吗?如果我将 static 关键字添加到头文件中的变量,我可以在我的 .c 或 .cpp 文件中调用该变量吗?谢谢。

【问题讨论】:

标签: c++ c file header-files translation-unit


【解决方案1】:

不,标题不是单独的翻译单元。

每个 .c/.cpp 文件都是一个单独的翻译单元,并且由于预处理器将 #includes 文本替换为标头的内容,因此 .c/.cpp 文件包含(直接或间接)所有标头的代码是该文件翻译单元的一部分。

换句话说,翻译单元是经过预处理的 .c 或 .cpp 文件。

【讨论】:

    【解决方案2】:

    不,翻译单元是预处理器的完整输出。将包含一个头文件,其内容可能成为翻译单元的一部分。

    【讨论】:

      猜你喜欢
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 2019-09-20
      • 2012-01-06
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多