5.2.1. ::operator new 함수의 사용

ISO C++ 표준에 따라 ::operator new(std::size_t)는 메모리 할당이 실패할 경우 신호 대신 예외를 발생시킵니다. 예외가 포착되지 않을 경우 std::terminate()가 호출됩니다.

컴파일러 옵션 --force_new_nothrow는 컴파일의 새로운 호출을 모두 ::operator new(std::size_t, std::nothrow_t&) 또는 :operator new[](std::size_t, std::nothrow_t&)에 대한 호출로 바꿉니다. 하지만 이렇게 해도 라이브러리의 operator new 호출이나 클래스 관련 operator new에 대한 호출에 영향을 주지 않습니다. 자세한 내용은 --[no_]force_new_nothrow를 참조하십시오.

레거시 지원

RVCT v2.0에서 ::operator new 함수는 메모리를 모두 소비했을 경우 C++ 예외 대신 SIGOUTOFHEAP 신호를 발생시킵니다. 자세한 내용은 라이브러리 설명서에서 2-120페이지의 ISO C 라이브러리 구현 정의를 참조하십시오.

현재 릴리스에서는 new_handler를 설치하여 신호를 발생시키고 RVCT v2.0 동작을 복원할 수 있습니다.

Note

이러한 동작에 대한 구현 정보는 이후 릴리스에서 변경될 수 있으므로 신뢰하지 마십시오.

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