gpt4 book ai didi

c - 哪个编译阶段负责检测未声明的结构?

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:51 27 4
gpt4 key购买 nike

例如如果我有下面的代码

int f()
{
/*set struct value*/
struct test_2 t;
t.j = 0;
}

如果我收到诸如 struct test_2 not declared 之类的错误,我想知道编译的哪个阶段会检测到这个特定错误?另外我想知道哪个阶段的编译会从代码中删除注释?如果这是一个愚蠢的问题,我很抱歉,我只是在研究一些关于编译器的知识并且很好奇。

据我所知编译阶段包括以下内容

Lexical Analysis
Parsing
Semantic Analysis
Intermediate Code Generation
Code Optimization
Final Code Generation

最佳答案

这将取决于编译器,但最自然的方法是对注释进行词法分析(因为它们被其余过程忽略并且是正则表达式),以及用于检测某些内容没有的语义分析已声明(因为解析不会保留符号表)。

关于c - 哪个编译阶段负责检测未声明的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26466755/

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