另外请教一下,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 应该也没有定义啊,但编译器怎么就知道该编译链接哪个函数呢?求指教。。。
|