4.3.3. __attribute__((const))

많은 함수는 전달되는 인수만 검사하므로 반환 값을 제외하고는 영향을 주지 않습니다. 이것은 함수가 전역 메모리를 읽는 것이 허용되지 않기 때문에 __attribute__((pure))보다 훨씬 더 엄격한 클래스입니다. 함수가 인수에만 작동하는 것으로 알려져 있다면, 공통 하위식 제거와 루프 최적화가 필요할 수 있습니다.

Note

이 함수 특성은 ARM 컴파일러에서 지원하는 GNU 컴파일러 확장입니다. 키워드에서는 __pure가 이 함수 특성에 해당합니다.

예제

int Function_Attributes_const_0(int b) __attribute__ ((const));

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

이 코드에서 Function_Attributes_const_0은 한 번만 호출될 수 있으며 그 결과는 정확한 반환 값을 얻기 위해 2배가 됩니다.

추가 참고

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