我正在尝试my question的一些解决方案。
说我在运行itoa
的系统上运行。我有这段代码:
char *my_itoa (int a, char *b, int c)
{
return itoa(a, b, c);
}
char* __attribute__ ((weak)) itoa(int a, char* b, int c)
{
strcpy(b, "No itoa");
}
如果我使用上述代码致电my_itoa(10, str, 10)
,puts(str)
会给我“No itoa”。
但是,如果我只是写:
char *my_itoa (int a, char *b, int c)
{
return itoa(a, b, c);
}
并致电my_itoa(10, str, 10)
,puts(str)
给我“10”。
我的理解是,如果__attribute__ ((weak))
尚未实现,{{1}}将实现一个功能。这是真的吗?这是怎么回事?