Skip to content On this page
- 2023年4月[XX篇XXXX字]
- 2023年3月[XX篇XXXX字]
clang_预处理过程
Documentation标签:clang/basic 预编译 Prepressing
将 .c文件转换到 .i 文件 :
- 将所有的
#define删除 , 并展开所有的 宏定义 ; - 处理所有的条件预编译指令 , 比如
#if, #ifdef, #elif, #else, #endif; - 处理
#include 预编译指令 , 将包含的文件插入到这个位置 , 这个过程是递归的 ; - 删除所有的
//, /* */; - 添加行号和文件标志 , 比如
#2 "hello.c"2, 便于编译器调试和报错提醒 ; - 保留所有的
#pragma的编译器指令 , 因为编译器需要使用它们 ;