如果在其他.c文件中定义一个宏,可以在其他文件使用ifdef作为开关吗?

[复制链接]
查看11 | 回复2 | 2021-1-27 06:45:36 | 显示全部楼层 |阅读模式
1.c
if(a==b){
#defineADD_SWITCH
}
2.c
#ifdefADD_SWITCH
add_a_and_b(inta,intb);
#endif
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:45:36 | 显示全部楼层
可以
不过如果你的意思是在a==b的时候才定义,那他不是表示这个意思,因为宏是在编译时确定的,而if是在程序运行时判断的

回复

使用道具 举报

千问 | 2021-1-27 06:45:36 | 显示全部楼层
///可以这么用
#definea10///编译期常量
#defineb100///编译期常量
voideqaul(){}
voidnoEqaul(){};
intmain(){
#ifa==b
eqaul();
#else
noEqaul();
#endif
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行