4.2.4. __declspec(noreturn)

__declspec(noreturn) 특성은 함수가 반환하지 않도록 지정합니다.

Note

함수 특성에서는 __attribute__(noreturn)가 이 __declspec 특성에 해당합니다.

사용법

이 특성을 사용하여 exit() 같은 반환하지 않는 함수를 호출하는 비용을 줄일 수 있습니다. noreturn 함수가 호출자로 돌아갈 경우, 동작은 정의되지 않습니다.

제한

noreturn 함수를 호출하는 경우 반환 주소가 보존되지 않습니다. 이는 콜 스택을 표시하는 디버거의 기능을 제한합니다.

예제

__declspec(noreturn) void overflow(void); // never return on overflow

int negate(int x) 
{
    if (x == 0x80000000) overflow();
    return -x;
}

추가 참고

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