|
|
1
9
该标准没有指定预处理器和编译器,它只是指定了您已经注意到的翻译阶段。传统上,第一阶段到第四阶段在预处理器中,第五阶段到第七阶段在编译器中,第八阶段在链接器中——但是这些都不是标准所要求的。 |
|
|
2
4
除非指定预处理器来处理这个问题,否则可以安全地假设这是编译器的工作。
“你的” I.e.
|
|
|
3
2
在ANSI C标准中,该细节在第5.1.1.2节第(6)项中进行了说明:
步骤4显然是预处理器的职责。 步骤5要求“执行字符集”是已知的。编译器也需要这些信息。如果预处理器不包含平台依赖项,那么将编译器移植到新平台就更容易了,因此倾向于在编译器中实现步骤5,从而实现步骤6。 |
|
|
4
1
我会在解析器的扫描标记部分处理它,所以在编译器中。这似乎更符合逻辑。预处理器不必知道语言的“结构”,事实上它通常会忽略它,这样宏就可以生成不可编译的代码。它只处理它有权处理的特定于它的指令(
|
|
|
5
1
字符串-文字串联如何与转义序列交互有一些棘手的规则。
然后
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |