另外请教一下,HAL库中有很多 __weak 开头的函数,还有不带 __weak 的重名函数,编译器怎么就知道该进哪个函数呢,虽然有这么段程序:
#if defined ( __GNUC__ )
#ifndef __weak
#define __weak __attribute__((weak))
#endif /* __weak */
#ifndef __packed
#define __packed __attribute__((__packed__))
#endif /* __packed */
#endif /* __GNUC__ */
但是那个 __GNUC__ 好像没有定义啊,所以__weak 应该也没有定义啊,但编译器怎么就知道该编译链接哪个函数呢?求指教。。。 |