之前看过ucos,就感觉对编程功力有提高,后来看过LwIP,现在下了个Uboot,感觉和LwIP好像很相似的风格,很多奇怪的地方,不太懂,请各位指教。 很多地方有类似函数定义中有外部函数声明或者是宏定义之类的地方,这是什么用法? void setup_serial_tag (struct tag **tmp) { struct tag *params = *tmp; struct tag_serialnr serialnr; void get_board_serial(struct tag_serialnr *serialnr); get_board_serial(&serialnr); params->hdr.tag = ATAG_SERIAL; params->hdr.size = tag_size (tag_serialnr); params->u.serialnr.low = serialnr.low; params->u.serialnr.high= serialnr.high; params = tag_next (params); *tmp = params; } 上面的代码void get_board_serial(struct tag_serialnr *serialnr);不是个函数调用吧,类似的很多 void __div0 (void) { extern void hang (void);
hang(); } 还有这个,感觉他们的编程和我见过的以前那些都不一样,是跟GCC编译器有关还是他们的编程爱好,习惯或者可以这样提高可移植性或者效率?谢了。或者如果这些是为了提高效率,这种技巧的书哪里有?谢了。 |