首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

哪位高手能解释一下uboot中的这行代码

2012-04-25 
谁能解释一下uboot中的这行代码int cmd_items &__u_boot_cmd_end -&__u_boot_cmd_start/* pointer arit

谁能解释一下uboot中的这行代码
int cmd_items = &__u_boot_cmd_end -
&__u_boot_cmd_start;/* pointer arith! */

为什么这样cmd_items就得到了命令得个数?


[解决办法]
应该是那样的,因为两个都指针类型的,预算的时候就会按照指针运算
[解决办法]
引用相减本来就是要除以sizeof(type)的...
这是常识啊。
所以你的问题得到的就是几条指令,因为无论如何是要除以指令长度的。
[解决办法]

探讨
int cmd_items = &__u_boot_cmd_end -
&__u_boot_cmd_start; /* pointer arith! */

为什么这样cmd_items就得到了命令得个数?

[解决办法]
嘿嘿,问题的关键就是,相减的时候,编译器是按照“类型”来减的,这个帖子真有意思!反应了C编译器的强大。

热点排行