
一个C++程序从写好源代码到变成能双击运行的可执行文件,中间要经过编译(Compilation)和链接(Linking)两个核心阶段。它们不是一步完成的,而是分工明确、层层递进的过程。
预处理:先“展开”所有宏和头文件
编译器第一步不是直接翻译C++语法,而是调用预处理器(如cpp)。它负责处理以#开头的指令:
- #include iostream> → 把iostream头文件的全部内容原样插入到当前源文件中
- #define MAX 100 → 把后续所有出现的MAX替换成100
- #ifdef DEBUG → 根据是否定义了DEBUG,决定保留或删掉某段代码
这一步不检查语法,只做纯文本替换,输出的是一个“.ii”后缀的“已展开”源文件(比如main.ii),为真正编译做好准备。
编译:把C++代码翻译成汇编,再转成机器码(目标文件)
预处理后的文件交给编译器(如g++的前端),完成三件事:
立即学习“C++免费学习笔记(深入)”;
标签: 前端 go 操作系统 处理器 ai c++ ios stream 编译错误
还木有评论哦,快来抢沙发吧~