__attribute__((weak))
attribute((weak)):
可以定义两个相同的函数或变量,带__attribute__((weak))的为弱,如果有不带__attribute__((weak))的变量或函数以不带的为准,若没有则以带__attribute__((weak))为准;
- test_1.c:
#include <stdio.h>
int __attribute__((weak)) i[10] = {0};
void main()
{
printf("%d\r\n",i[0]);
}
- test_2.c:
int i[10] = {1};
- 同时编译结果如下: