C 此声明将替换什么?

C 此声明将替换什么?,c,c-preprocessor,preprocessor,preprocessor-directive,C,C Preprocessor,Preprocessor,Preprocessor Directive,该语句位于一个文件中: #include "filename" 该文件将在何时被其内容替换 编前 编纂后 行刑期间 预处理在编译的其他阶段之前执行,但大多数现代编译器都将预处理阶段作为编译过程的一部分 问题是近似的: 如果您只有3个选择,那么预期的答案可能是1 如果你不能选择以上任何一个,你就有麻烦了,因为你无法确定这个问题是愚蠢的还是微妙的 如果这是一个面试问题,那么你就有机会告诉面试官你所知道的关于编译过程、语法分析阶段等的所有信息。在主题讲完之前,时间限制就会到来 如果严格遵循C标准中的

该语句位于一个文件中:

#include "filename"
该文件将在何时被其内容替换

编前

编纂后

行刑期间


预处理在编译的其他阶段之前执行,但大多数现代编译器都将预处理阶段作为编译过程的一部分

问题是近似的:

如果您只有3个选择,那么预期的答案可能是1

如果你不能选择以上任何一个,你就有麻烦了,因为你无法确定这个问题是愚蠢的还是微妙的

如果这是一个面试问题,那么你就有机会告诉面试官你所知道的关于编译过程、语法分析阶段等的所有信息。在主题讲完之前,时间限制就会到来


如果严格遵循C标准中的描述,不使用word编译5.1.1翻译环境、5.1.1.1程序结构

1 C程序不需要同时翻译。正文 程序以称为源文件或预处理的单位保存 本国际标准中的文件。将源文件与 通过预处理包含的所有头文件和源文件 指令include称为预处理翻译单元。 预处理后,预处理翻译单元称为 翻译股。以前翻译过的翻译单位可以是 单独保存或在图书馆中保存。独立的翻译单位 一个程序的通信,例如通过调用 标识符具有外部链接,操作对象 标识符具有外部链接或数据文件操作。 翻译单元可以单独翻译,然后链接到 生成一个可执行程序


因此,在预处理期间,但在翻译之前,所有包含的内容都将替换为源文件。

Heh?你是否跳过了书中的预处理章节?问题的标题与问题本身不匹配。请阅读:编译C程序是一个多阶段的过程。在概述级别上,流程可以分为四个独立的阶段:预处理、编译、组装和链接。包括在预处理阶段解决。我正在研究它,但在经历了构建过程后,我对它感到困惑…除非NOTA是一个隐藏选项@chqrlie如果这是一个面试问题,那么你就有机会告诉面试官你的一切……想想他。@vladfrommosco:OP需要研究编译过程,需要很长时间才能掌握其中的每一个细节,大多数程序员永远不会,但理解基本知识是有用的,并在这里演示。