gpt4 book ai didi

c++ - 解析和编译命名法

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:32 25 4
gpt4 key购买 nike

如果我将 C 或 C++ 源文件的编译过程分解为以下步骤:

  • A:预处理。
  • B:标记化(收集和列出关键字、标识符、符号、文字(字符串、字符、数字))。
  • C:将收集到的标记组装成结构化形式,例如树。
  • D:通过分析其语义来处理和验证这种结构化形式。
  • E:生成指令列表(例如:ASM)。

我的命名问题是:

  1. 语法是否解析了所有#ABC? #公元前?只是#C?
  2. 我应该为#ABC 使用什么术语? #公元前? #C?
  3. 什么是词法分析?只是#B吗?
  4. #D 是语义解析吗?

最佳答案

虽然只有预处理阶段是语言标准的一部分,但大多数平台将完整的构建过程分为

  • 预处理,
  • 编译,
  • 组装,
  • 链接。

编译是包含所有“艰苦工作”的阶段,从词法分析和解析开始。优化会在某个地方出现。

一些使用某种形式的“链接时间优化”的现代系统可能会推迟或重复编译/汇编阶段,直到所有组成目标文件都被处理一次,但从道德上讲,这与您只是连接所有输入没有太大区别将您的项目文件合并为一个大文件并对其进行编译。

关于c++ - 解析和编译命名法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9184329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com