简单宏技巧
来源:互联网 发布:老子的道是指什么 知乎 编辑:程序博客网 时间:2024/05/12 07:50
在编译文件时, 某些宏技巧能帮上我们的忙
1) 替换函数名
#warning adfa#include <stdio.h>#define fun1 fun2void fun1() { printf("1\n");}void main() { fun2();}
2) 让编译在某个点停下
#error
3) 监控条件编译的走向
void main() {int i;#ifdef M1#warning M1i=1;#else#warning M2i=2;#endif}
4) 灵活条件编译
$ gcc a.c
a.c:13:2: warning: #warning M2
用 -D 定义 M1
$ gcc a.c -DM1
a.c:7:2: warning: #warning M1
5) 如果直接用 #if 会如何
void main() {int i;#if M1#warning M1i=1;#else#warning M2i=2;#endif}
$ gcc a.c -DM1
a.c:6:2: warning: #warning M1
$ gcc a.c -DM1=0
a.c:9:2: warning: #warning M2
我们姑且可以理解 -DM1 等价于 #define M1 1
而在文件头部写 #define M1 a, 输出将是
a.c:9:2: warning: #warning M2
- 简单宏技巧
- 简单技巧
- 用宏实现简单的多态 简单小技巧
- datagrid的简单技巧
- 简单小技巧
- 简单批处理小技巧
- phoneshop简单技巧大全
- 简单Jni开发技巧
- 简单jQuery使用技巧
- 简单的RSS技巧
- 简单编程技巧
- webView简单技巧
- 内存优化的简单技巧
- 简单的时间管理技巧
- Windows系统故障简单恢复技巧
- 几个简单的JavaScript技巧
- 矩阵,简单的运行技巧
- JavaScript 简单项目应用技巧
- PHP和JS判断搜索引擎来路跳转代码分析
- POJ 3928 Ping Pong
- java包和访问权限(第26集)
- 项目三平面坐标
- NEFU 485 分配问题
- 简单宏技巧
- 验证码
- 日语式样书常见语法问题
- 设计模式之创建型模式
- 黑马程序员_委托的使用
- 笔记 :SElinux基础知识
- Java继承和组合的区别
- 找出树中两个节点的最低公共祖先
- html语言