4.3.1. __attribute__((alias))

可以使用此函数属性为函数指定多个别名。

如果函数是在当前转换单元中定义的,则会将别名调用替换为函数调用,并将别名与原始名称一起发出。 如果函数不是在当前转换单元中定义的,则会将别名调用替换为对真实函数的调用。 如果将某个函数定义为 static,则会将函数名称替换为别名;如果将别名声明为外部别名,则会将该函数声明为外部函数。

Note

此函数属性是 ARM 编译器支持的 GNU 编译器扩展。

Note

也可以使用相应变量属性 __attribute__((alias)) 为变量名称指定别名。

语法


return-type newname([argument-list]) __attribute__((alias("oldname")));

其中:

oldname

是要指定别名的函数的名称

newname

是已指定别名的函数的新名称。

示例


#include <stdio.h>



void foo(void)

{

    printf("%s\n", __FUNCTION__);

}



void bar(void) __attribute__((alias("foo")));



void gazonk(void)

{

    bar(); // calls foo

}

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential