4.3.8. __attribute__((pure))

많은 함수들은 값을 반환하는 것을 제외하고 영향을 주지 않으며 반환 값은 매개변수와 전역 변수에 따라서만 달라집니다. 이런 종류의 함수는 데이터 흐름 분석이 필요할 수 있으며 제거될 수도 있습니다.

Note

이 함수 특성은 ARM 컴파일러에서 지원하는 GNU 컴파일러 확장입니다.

이 함수 특성은 __pure 키워드와 관련이 있지만 이 키워드에 해당하지는 않습니다. __pure의 해당 항목 함수 특성은 __attribute__((const))입니다.

예제

int Function_Attributes_pure_0(int b) __attribute__ ((pure));
int Function_Attributes_pure_0(int b)
{
    static int aStatic;
    aStatic++;
    return b++;
}
 
int Function_Attributes_pure_2(int b)
{
    int aLocal=0;
    aLocal += Function_Attributes_pure_0(b);
    return 0;
}

이 예제에서 Function_Attributes_pure_0에 대한 호출은 결과가 사용되지 않기 때문에 제거될 수도 있습니다.

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