__attribute__((alias)) 関数属性

この関数属性を使用すると、関数の複数エイリアスを指定できます。

関数が現在の変換単位で定義される場合、エイリアスの呼び出しはその関数の呼び出しに置き換えられ、エイリアスが元の名前と共に生成されます。関数が現在の変換単位で定義されない場合、エイリアスの呼び出しは実関数の呼び出しに置き換えられます。関数が static として定義される場合、関数名はエイリアス名に置き換えられ、エイリアス名が外部で宣言された場合、関数は外部で宣言されます。

Note

この関数属性は、ARM コンパイラでサポートされている GNU コンパイラの拡張機能です。

Note

変数名は、対応する変数属性 __attribute__((alias)) を使用してエイリアスされる可能性があります。

Show/hide構文

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

各項目には以下の意味があります。

oldname

エイリアスされる関数の名前を指定します。

newname

エイリアスされる関数の新しい名前を指定します。

Show/hide

#include <stdio.h>
void foo(void)
{
    printf("%s\n", __FUNCTION__);
}
void bar(void) __attribute__((alias("foo")));
void gazonk(void)
{
    bar(); // foo が呼び出される
}

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711