工作总结之预处理指令与宏的使用

来源:互联网 发布:淘宝上iphone6s一千多 编辑:程序博客网 时间:2024/06/04 00:31

工作中的软件需要在不同的应用场景下,启动不同的视频采集硬件,启动的方法总结了一下,共有三种:

1.通过预处理命令和宏来处理不同硬件的代码;

2.通过硬编码硬件的识别码来辨别;

3.通过UI让用户选择;

我们着重看一下第一种。

先来了解 #define

语法

#define 标识符 替换列表
#define 标识符[(标识符, 选择... , 标识符 )] 替换列表

其实还有一种形式

#define 标识符
这种形式没有把标识符定义为任何值,换句话说是定义了空值,你不能用它做任何值的判断.
所以这种标识符只能通过判断是否被定义来进行编译控制。

如果使用vs2005作为IDE,那么#define 标识符等价与在vs2005中做如下设置:


这种定义的应用场景:

1.防止同一文件被重复包含多次;

2.用于条件编译。(属于C预编译命令的一种,C语言预编译命令包含:宏定义、文件包含、条件编译)。

举例:

1.防止同一文件被重复包含多次;

#ifndef __SOMEFILE_H__
  #define __SOMEFILE_H__
  ... ... // 一些声明语句

#endif

2.用于条件编译,就是我工作软件中的用法。

#ifdef COND 
  one choice code
#else

  other choice code

#endif

原创粉丝点击