请教:Uboot,LwIP编程风格

[复制链接]
2658|0
 楼主| MCUJunior 发表于 2008-9-13 22:29 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;之前看过ucos,就感觉对编程功力有提高,后来看过LwIP,现在下了个Uboot,感觉和LwIP好像很相似的风格,很多奇怪的地方,不太懂,请各位指教。<br />&nbsp;&nbsp;&nbsp;很多地方有类似函数定义中有外部函数声明或者是宏定义之类的地方,这是什么用法?<br />&nbsp;&nbsp;void&nbsp;setup_serial_tag&nbsp;(struct&nbsp;tag&nbsp;**tmp)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;tag&nbsp;*params&nbsp;=&nbsp;*tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;tag_serialnr&nbsp;serialnr;<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;get_board_serial(struct&nbsp;tag_serialnr&nbsp;*serialnr);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;get_board_serial(&serialnr);<br />&nbsp;&nbsp;&nbsp;&nbsp;params-&gthdr.tag&nbsp;=&nbsp;ATAG_SERIAL;<br />&nbsp;&nbsp;&nbsp;&nbsp;params-&gthdr.size&nbsp;=&nbsp;tag_size&nbsp;(tag_serialnr);<br />&nbsp;&nbsp;&nbsp;&nbsp;params-&gtu.serialnr.low&nbsp;=&nbsp;serialnr.low;<br />&nbsp;&nbsp;&nbsp;&nbsp;params-&gtu.serialnr.high=&nbsp;serialnr.high;<br />&nbsp;&nbsp;&nbsp;&nbsp;params&nbsp;=&nbsp;tag_next&nbsp;(params);<br />&nbsp;&nbsp;&nbsp;&nbsp;*tmp&nbsp;=&nbsp;params;<br />}<br />上面的代码void&nbsp;get_board_serial(struct&nbsp;tag_serialnr&nbsp;*serialnr);不是个函数调用吧,类似的很多<br />void&nbsp;__div0&nbsp;(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;extern&nbsp;void&nbsp;hang&nbsp;(void);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;hang();<br />}<br />还有这个,感觉他们的编程和我见过的以前那些都不一样,是跟GCC编译器有关还是他们的编程爱好,习惯或者可以这样提高可移植性或者效率?谢了。或者如果这些是为了提高效率,这种技巧的书哪里有?谢了。<br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

178

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部