c语言用宏写比较大小函数,c,_C语言中两个宏进行大小对比,其中一个没有定义,这种行为如何定义。,c - phpStudy...

C语言中两个宏进行大小对比,其中一个没有定义,这种行为如何定义。

1.C语言中两个宏进行大小对比,其中一个没有定义,这种行为如何定义呢?

在学习U-boot的过程中遇到这么一个定义:

# if (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE) && \

(CONFIG_ENV_ADDR + CONFIG_ENV_SIZE) <= \

(CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)

# define ENV_IS_EMBEDDED

# endif

我这里主要看CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE

CONFIG_ENV_ADDR这个宏确实是有定义的,但是CONFIG_SYS_MONITOR_BASE我确实没有定义的,在u-boot最后生成的include/autoconf.mk中也没有查看到这个宏的值,说明这个宏确确实实真没有。

然后我们自己手动写一个代码

1 #include

2

3 #define CONFIG_ENV_ADDR 100

4 int main(int argc, char *argv[])

5 {

6 # if (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE)

7 printf(">=\n");

8 #else

9 printf("==\n");

10 #endif

11 return 0;

12 }

13

14

gcc -E tesr.c -o test_1.c

预处理后查看到的结果是

840 int main(int argc, char *argv[])

841 {

842

843 printf(">=\n");

844

845

846

847 return 0;

848 }

请问有大神知道相关点吗?C语言没学好啊!

相关阅读:

怎么使BrowserSync+gulp-sass编译出错时不跳出gulp?

用PhoneGap开发Android应用时如何调用通过NDK编译出来的动态链接库里的函数

为什么对象在focus之后立刻自动失焦了?

javascript 回调函数 入门问题

PHP 实现多台服务器共用SESSION方案?

怎么解决手机浏览器拍照后自动刷新页面的问题?

php use function

NDEBUG 是什么的缩写?

用nsurlsessionuploadtask上传图片失败,怎么破?

假如 Lua 的基本库是? LGPL 授权的,那么被 Lua 程序额外读取执行的用户提交的 Lua 脚本是否受 LGPL 限制?

javascript json的键到底加不加“”号

求推荐靠谱齐全的天气API

windows下编译安装SIP

Flask怎样做下载推广包功能

sqlite一个库里建表的数量有没有上限?

用C++实现 离散数据处理

请教一下关于前后端分离的一些疑问

按照前台输出格式来写一个函数遍历文件夹下的文件和子文件夹

安卓微信刷卡支付的DEMO

php 做出类似jmail的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值