看了韦的u-boot-1.1.6 DNW的代码。在usbinit.c里面定义了usb_init()。
并且库里面自带有common/usb.c里面也定义了同名函数usb_init()函数。
然后在board.c的start_armboot里面调用usb_init()函数。
问题1:两个同名函数,并且看了各自的makefile,全部都编译和链接了,那么最后生成的bin文件里面应该用哪个usb_init()。
问题2:在board.c里面并没有声明这两个函数(包含的头文件里面也没有声明),编译会有警告implicit declaration of function。这种警告可以忽略不?
问题3:看了一段时间uboot源码,例如在a.c里面,调用b.c中定义的函数并且a.c(以及所包含的头文件)里面也没有声明函数原型。为什么gcc编译没有报错或者警告?