-8
A
回答
1
1
如果严格按照C标准这说明(不使用单词“汇编”)(5.1.1翻译环境,5.1.1.1程序结构)
1交流计划不需要全部同时翻译。该程序的文本保存在本标准中称为源文件的单元(或预处理文件 )中。 源文件连同 所有通过预处理 指令#include包含的头文件和源文件被称为预处理转换单元。预处理后,预处理翻译单元称为 翻译单元。以前翻译的单位可能是 单独保存或在图书馆。程序的单独翻译单元 通过(例如)调用与其标识符具有外部链接的功能,对其标识符具有外部链接的对象的操纵或对数据文件的操纵进行通信。 翻译单元可以单独翻译然后再链接到 产生一个可执行程序。
因此,在预处理期间但在翻译之前,所有#includes都替换源文件。
相关问题
- 1. Perl - 这个陈述是做什么的?
- 2. 这个“if”陈述有什么问题?
- 3. 这两个陈述有什么区别?
- 4. 这个陈述有什么问题?
- 5. 这两个陈述有什么区别?
- 6. 这个“陈述”是什么意思?
- 7. 这个陈述有什么问题?
- 8. 这两个陈述有什么区别?
- 9. 如何将这两个陈述合并成一个陈述?
- 10. 这些陈述有什么区别吗?
- 11. 这是什么意思在这个骨干陈述?
- 12. 为什么这两个陈述有不同的结果?
- 13. 为什么不是这个“如果陈述”工作?
- 14. 在swift中这个陈述的等价物是什么?
- 15. c中的这个陈述是什么意思?
- 16. 为什么不能证明这个逻辑陈述?
- 17. 这两个陈述有什么区别吗?
- 18. 在这个SSI条件陈述中,“$”是什么意思?
- 19. 这两个比较陈述有什么区别?
- 20. 为什么这个“如果” - 陈述工作?
- 21. 为什么这个陈述只适用于WHERE?
- 22. 这个Java编码有什么问题,如果陈述?
- 23. 为什么这个简单的陈述如此简单?
- 24. 为什么我从这个陈述中得到-1?
- 25. 这个陈述在装配中意味着什么?
- 26. 这两个委托陈述有什么区别?
- 27. 这两个陈述之间有什么区别?
- 28. 这个关系代数陈述是做什么的? (转换为SQL查询)
- 29. 这些陈述意味着什么,并建议这种风格?
- 30. 如何将多个陈述合并为一个陈述?
heh?你有没有跳过你书中的预处理章节? –
问题的标题与问题本身不符。 – Codor
阅读此:https://stackoverflow.com/questions/16253977/how-does-c-preprocessor-work –