条件编译定义语句放置的位置应该在哪里比较合适

2020-01-27 11:33发布

如果是多个原文件一起参加编译,那条件编译定义应该选取一个合适并且有效的位置:

例如:


方法A:
在文件MIAN.C中
#define SOFTWARE_TEST    //软件仿真定义


....
   #ifndef SOFTWARE_TEST    //add by chen
    while(C!=SDA);           //软件仿真是收不到IIC的应答(因为没接IIC设备)但又不希望在此无期等待
  #endif                   //add by chen   

....


在文件 IIC.C中
....
   #ifndef SOFTWARE_TEST    //add by chen
    while(C!=SDA);           //软件仿真是收不到IIC的应答(因为没接IIC设备)但又不希望在此无期等待
  #endif                   //add by chen   

....


方法B:

在文件MIAN.C中



....
....



在IIC.C文件中


#define SOFTWARE_TEST    //软件仿真定义


....
   #ifndef SOFTWARE_TEST    //add by chen
    while(C!=SDA);           //软件仿真是收不到IIC的应答(因为没接IIC设备)但又不希望在此无期等待
  #endif                   //add by chen   

....
在OTHER.C文件中

....
   #ifndef SOFTWARE_TEST    //add by chen
   
  int a=8;             //假如在一个其他文件中也用到这个条件判断
else
  int a=0;
   #endif                   //add by chen   

....
请问那个方法中正确的?如果没列举出来正确的方法的话,求解!非常感谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。