C语言中预处理命令有哪些具体用法和技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4540个文字,预计阅读时间需要19分钟。
1. 概述:预处理命令是程序开头的一部分,用于设置环境变量、包含必要的头文件等,为程序的执行做准备。
1. 概述
预处理命令就是我们程序开头以#字符开头的命令。为什么叫预处理命令?因为这些命令是在编译时的第一步就执行了的,不会转为汇编码。
编译器编译代码的步骤:
预处理。处理#include,#define等命令并删除注释,所以无论怎么写都不会再第一步CE。
编译。真编译会分析代码语法(开了O2还会改一些)并生成汇编文件。
- 汇编。将汇编码转为机器码。
链接。根据电脑情况进行重定位,链接库等,生成可执行文件
使用-E,-S,-c可以选择只执行第1步,1~2步,1~3步。如果对本文的知识有疑惑,您可以选择使用g++ -E 1.cpp -o 1.i来获取预处理后的.i文件深刻体会。另外-S也可以用于获取汇编码。
绝大部分预处理命令在OI里用处不大,但也有功能强大的预处理命令。
#符号应该是这一行的第一个非空字符。不过,也可以打\把内容移到下一行,就跟注释一样。
#define pi 3.14159 26535 //This is an example
这样就把下一行内容上移了。
洛谷的编辑器不会这么显示,但本地编辑器上你能发现下一行也变成了注释或预处理样式。
本文共计4540个文字,预计阅读时间需要19分钟。
1. 概述:预处理命令是程序开头的一部分,用于设置环境变量、包含必要的头文件等,为程序的执行做准备。
1. 概述
预处理命令就是我们程序开头以#字符开头的命令。为什么叫预处理命令?因为这些命令是在编译时的第一步就执行了的,不会转为汇编码。
编译器编译代码的步骤:
预处理。处理#include,#define等命令并删除注释,所以无论怎么写都不会再第一步CE。
编译。真编译会分析代码语法(开了O2还会改一些)并生成汇编文件。
- 汇编。将汇编码转为机器码。
链接。根据电脑情况进行重定位,链接库等,生成可执行文件
使用-E,-S,-c可以选择只执行第1步,1~2步,1~3步。如果对本文的知识有疑惑,您可以选择使用g++ -E 1.cpp -o 1.i来获取预处理后的.i文件深刻体会。另外-S也可以用于获取汇编码。
绝大部分预处理命令在OI里用处不大,但也有功能强大的预处理命令。
#符号应该是这一行的第一个非空字符。不过,也可以打\把内容移到下一行,就跟注释一样。
#define pi 3.14159 26535 //This is an example
这样就把下一行内容上移了。
洛谷的编辑器不会这么显示,但本地编辑器上你能发现下一行也变成了注释或预处理样式。

