4.1.12. __pure

__pure 키워드는 함수 선언이 순수하도록 지정합니다.

함수는 다음과 같은 경우에만 순수합니다.

__pure는 함수 한정자이며 함수 유형에 영향을 주지 않습니다.

Note

함수 특성에서는 __attribute__((const))가 이 키워드에 해당합니다.

기본값

기본적으로 함수는 순수하지 않은 것으로 간주됩니다.

사용법

순수한 함수는 공통 하위식 제거가 필요할 수 있습니다.

제한

순수한 것으로 선언된 함수에는 부작용이 없습니다. 예를 들어 순수한 함수는 다음과 같습니다.

  • 순수하지 않은 함수를 호출할 수 없습니다.

  • 전역 변수나 참조 해제 포인터를 사용할 수 없습니다. 컴파일러는 해당 함수가 메모리(스택 메모리는 제외)에 액세스하지 않는다고 간주하기 때문입니다.

  • 동일한 매개변수를 사용하여 두 번 호출되는 경우 매번 같은 값을 반환해야 합니다.

예제

int factr(int n) __pure
{
    int f = 1;

    while (n > 0)
        f *= n--;
    return f;}

추가 참고

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