预处理器指令
来源:互联网 发布:港币贬值 知乎 编辑:程序博客网 时间:2024/06/05 15:24
预处理器指令
预处理器指令是包含在我们的程序不被程序语句,但预处理器指令的代码行。 这些生产线的前面总是由一个hash符号(#)。 实际汇编代码开始之前执行的预处理,因此预处理消化所有这些指令的语句所产生的任何代码之前。这些预处理器指令扩展只在一个单一的代码行。 只要发现一个换行符,预处理器指令被认为是结束。 别无分号(;)预计在年底预处理器指令。 预处理器指令可以通过一个以上的线路延长的唯一方法是一个反斜杠(\)结束该行的换行符前。
宏定义(#定义#UNDEF)
预处理宏定义,我们可以使用#定义 。 其格式为:#define标识符替换
当预处理程序遇到这个指令,它会替换任何发生的标识符 ,在剩下的代码替换 。 这种替换可以是一个表达式,声明,块或简单的东西。 预处理器不理解C + +,它只是取代任何标识符更换发生。
1 2 3
#define TABLE_SIZE 100 int table1[TABLE_SIZE]; int table2[TABLE_SIZE];
预处理后已经取代TABLE_SIZE,代码变得等同于:
1 2
int table1[100]; int table2[100];
这种使用#定义为恒定的定义者是从前面的教程中,我们已经知道,但#定义也可以用参数来定义函数宏:
#define getmax(a,b) a>b?a:b
这将取代任何发生getmax的后面两个参数替换表达,但也更换每个参数的标识符,正是你所期望的,如果它是一个功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
// function macro #include <iostream> using namespace std; #define getmax(a,b) ((a)>(b)?(a):(b)) int main() { int x=5, y; y= getmax(x,2); cout << y << endl; cout << getmax(7,x) << endl; return 0; }
5 7
- C# 预处理器指令
- C#预处理器指令
- C# 预处理器指令
- C#预处理器指令
- 预处理器指令
- C#预处理器指令
- C# 预处理器指令
- 预处理器指令
- 预处理器指令
- 称为预处理器指令
- .NET 预处理器指令
- C#预处理器指令
- C#预处理器指令
- C# 预处理器指令
- C#预处理器指令
- C#预处理器指令
- C#预处理器指令
- C#预处理器指令
- Linux Kernel系列
- 写几篇博客耍耍
- 2013年9月移动客户端病毒报告
- 远程上传或获取文件,并打印出来
- 运用Caley定理恢复树
- 预处理器指令
- 一个可以下载某人github所有Repositories的简单脚本
- Jni之Hello World
- 标准库vector类型
- [转]JSP页面显示乱码二、表单提交中文时出现乱码三、数据库连
- [转]rel与rev的区别
- html笔记
- Struts2 Action的单元测试
- css笔记