用keil怎么像makefile那样选择哪些文件进行编译?

  因为设备有多种不同的型号的硬件,所以就有不同的驱动,我想在编译的时候,像在linux下的makeile那样,自己写一个编译连接的东西,来控制我哪些文件进行编译链接,不知道在keil下有没有这样的方法。

有以下3种方法参考:

1、分开建target,每个target一个项目,创建target时,包含所需的工程文件编译即可。
   缺点:项目多时,创建target比较麻烦。
   优点:比较不容易出错,因为工程文件较独立,其它target修改时,不会影响到该target。
2、使用条件编译,#define + #if .
   编写程序时,用以下方法:
   #define xx_driver   1
   #define yy_driver   2

#if DRIVER == xx_driver
   ....
   #elif DRIVER == yy_driver
   ....
   #endif

然后在Options for target 中修改C51选项卡下的 define即可。
   例如:DRIVER = yy_driver ,则编译时,就会执行条件编译DRIVER == yy_driver。
   此方法仅修改KEILC中的配置,不会修改到source code.

3、与方法2类似,新建一个driver.h文件管理驱动。
   #define xx_driver   1
   #define yy_driver   2
   #define DRIVER  yy_driver

#if DRIVER == xx_driver
   ....
   #elif DRIVER == yy_driver
   ....
   #endif

以上方法可以结合使用,相信足够你用了。

上一篇:vue项目中使用插件将字符串装化为格式化的json数据(可伸缩)


下一篇:2015-9月份,Android开发,面试题总结,主要记录没有答出来的问题