__attribute__((const)) 関数属性

多くの関数は渡された引数のみを確認し、戻り値以外には作用しません。関数によるグローバルメモリの読み出しは許可されていないため、これ __attribute__((pure)) よりも厳密なクラスです。渡された引数に対してのみ演算を行う関数は、共通部分式の削除とループの最適化の対象になります。

Note

この関数属性は、ARM コンパイラでサポートされている GNU コンパイラの拡張機能です。同等のキーワード __pure があります。

Show/hide

int Function_Attributes_const_0(int b) __attribute__ ((const));
int Function_Attributes_const_0(int b)
{
    int aLocal=0;
    aLocal += Function_Attributes_const_0(b);
    aLocal += Function_Attributes_const_0(b);
    return aLocal;
}

このコードの Function_Attributes_const_0 は 1 回しか呼び出されない場合があります。その場合、正しい戻り値を得るため結果は 2 倍にされます。

Show/hide関連項目

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