文/Edward
有时候我们在做项目的时候,一个全新的项目代码并不会全部重新写,这个新项目往往只是某一个主线项目的分支,因此可以借鉴之前的代码,然后对需要修改的地方进行修改。但是,如果这两份代码改动的地方仅仅是某些逻辑判断,或是某些AD电压阈值判断标准。其余两份代码之间的架构完全相同,那么其实新代码基于老代码的改动微乎其微,其代码量相似度可能达到95%以上。那么有没有一种方法可以将这两份代码统一成一份,并且根据不同的选项编译不同的代码。这样的话也便于程序开发以及后续的代码管理。
在C语言里面有一种机制可以决定编译那些代码,这个机制就是预处理中的条件编译。 使用条件编译,你可以选择代码的一部分是被正常编译还是完全忽略。C语言中条件编译的主要形式有三种,接下来我们将会对其一一讨论。#if……#endif 第一种最简单的选择编译形式就是判断条件编译。这里面会用到两个预处理命令#if和#endif。其表达形式为:
#if 常量表达式 执行语句#endif
其中的常量表达式是由预处理器进行求值。如果它的值是非零值(真),那么执行语句部分就会参与到代码的编译中来。否则&#