预处理和宏函数
2015-10-13 15:58
253 查看
1. 预设常量
#include <stdio.h>
//#define THE_NUM 2
main()
{
printf("The num is %d\n",THE_NUM);
}
gcc a.c -DTHE_NUM=2
2. 条件预处理
#include <stdio.h>
#define WIN 1
#define LINUX 2
#define MAC 3
void sayHello()
{
#if PLATFORM==WIN
printf("Hello Windows\n");
#elif PLATFORM==LINUX
printf("Hello Linxu\n");
#elif PLATFORM==MAC
printf("Hello Mac\n");
#else
printf("Unknow platform\n");
#endif
}
main()
{
sayHello();
}
gcc a.c -DPLATFORM=1
Hello Windows.
3. 防止头文件重复引入
include.c a.h a.c b.h b.c
#pragma once //等于下面的注释的内容
/* #ifndef B_H_ */
/* #define B_H_ */
#include "a.h"
void funcB();
void funcB1();
void funcB2();
/* #endif */
#include <stdio.h>
//#define THE_NUM 2
main()
{
printf("The num is %d\n",THE_NUM);
}
gcc a.c -DTHE_NUM=2
2. 条件预处理
#include <stdio.h>
#define WIN 1
#define LINUX 2
#define MAC 3
void sayHello()
{
#if PLATFORM==WIN
printf("Hello Windows\n");
#elif PLATFORM==LINUX
printf("Hello Linxu\n");
#elif PLATFORM==MAC
printf("Hello Mac\n");
#else
printf("Unknow platform\n");
#endif
}
main()
{
sayHello();
}
gcc a.c -DPLATFORM=1
Hello Windows.
3. 防止头文件重复引入
include.c a.h a.c b.h b.c
#pragma once //等于下面的注释的内容
/* #ifndef B_H_ */
/* #define B_H_ */
#include "a.h"
void funcB();
void funcB1();
void funcB2();
/* #endif */
相关文章推荐
- 中科院开源协会镜像站 Android SDK镜像测试发布
- 测试
- (小笔记)Activity中的edittext不能自动弹出软件盘- 的解决
- 碎片向Activity中传值
- netfilter和squid配合创建透明代理的问题讨论
- andorid之摄像头驱动流程
- 我奋斗了十八年才和你坐在一起喝咖啡
- 安卓控件属性动画使用大全
- delphi正则表达式学习笔记(一)
- 团队开发共用一个开发者账号
- Python中的并发编程
- 杂谈:用 Sublime Text 2 写 ActionScript3
- cucumber java从入门到精通(1)初体验
- json字符串转换
- vs2010+win7 64bit OpenGL程序无法启动此应用程序,因为计算机中丢失glut32.dll
- vs2010+win7 64bit OpenGL程序无法启动此应用程序,因为计算机中丢失glut32.dll
- jQuery-autoComplete实例
- jQuery-autoComplete实例
- jQuery-autoComplete实例
- 中缀表达式转换为前缀及后缀表达式并求值【摘】