函数别名alias

2020-04-07

如果不更改函数调用位置的函数名,可以在函数实现的后面使用函数别名的方式,让目标文件*.o能同时存在两个函数名。

是不是非常有趣?

秘密就在于关键字alias

举个栗子

int vx_test(int y)
{
    int x=2+y;
 return x;
}

如果向上面这样,我们可以直接调用vx_test来执行该函数体。

int delta_test(int y)
{
    int x=2;
 return x;
}
int vx_test(int y) __attribute__((alias("delta_test")));

而如果像这样,我们则可以调用delta_test或者vx_test来执行同一个函数体。

想知道更多的alias解释,请自行百度。