主题 : uboot 函数调用问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 132833
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2017-05-30
最后登录: 2017-06-10
楼主  发表于: 2017-05-30 15:39

 uboot 函数调用问题


看了韦的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编译没有报错或者警告?