関数属性

__attribute__ キーワードを使用すると、変数または構造体フィールド、関数、型などの特殊な属性を指定できます。このキーワードの形式には、以下のいずれかを使用します。

__attribute__ ((attribute1, attribute2, ...))
__attribute__ ((__attribute1__, __attribute2__, ...))

以下に例を示します。

void * Function_Attributes_malloc_0(int b) __attribute__ ((malloc));
static int b __attribute__ ((__unused__));

Table 10 では、使用可能な関数属性を示します。

Table 10. コンパイラでサポートされる関数属性および同等キーワード(または属性)

関数属性この属性以外の同等キーワード
__attribute__((alias))-
__attribute__((always_inline))__forceinline
__attribute__((const))__pure
__attribute__((constructor[(priority)]))-
__attribute__((deprecated))-
__attribute__((destructor[(priority)]))-
__attribute__((format_arg(string-index)))-
__attribute__((malloc))-
__attribute__((noinline))__declspec(noinline)
__attribute__((no_instrument_function))-
__attribute__((nomerge))-
__attribute__((nonnull))-
__attribute__((noreturn))__declspec(noreturn))
__attribute__((notailcall))-
__attribute__((pcs("calling_convention")))-
__attribute__((pure))-
__attribute__((section("name")))-
__attribute__((unused))-
__attribute__((used))-
__attribute__((visibility("visibility_type")))-
__attribute__((weak))__weak
__attribute__((weakref("target")))-

Copyright © 2010 ARM. All rights reserved.ARM DUI 0491BJ
Non-ConfidentialID011811