D.1. C++ ISO/IEC 표준 한계

ISO/IEC C++ 표준에서는 이 표준을 준수하는 컴파일러에서 따라야 하는 최소 제한을 권장합니다. 컴파일러 간에 응용 프로그램을 포팅할 때 이 점에 주의하십시오. Table D.1에서는 이러한 한계에 대해 간단히 설명합니다.

이 표에서 memory의 한계는 ARM 컴파일러가 사용 가능한 메모리에서 지정한 한계 외에는 한계를 지정하지 않음을 나타냅니다.

Table D.1. 구현 한계

설명권장 사항 ARM
복합 문, 이터레이션 컨트롤 구조체 및 선택 컨트롤 구조체의 중첩 수준256메모리
조건부 포함의 중첩 수준256메모리
선언에서 산술, 구조체, 공용체 또는 불완전한 유형을 수정하는 포인터, 배열 및 함수 선언자(모든 조합)256메모리
완전한 식 내에 괄호 처리된 식의 중첩 수준256메모리
내부 식별자 또는 매크로 이름의 첫 문자 수1 024메모리
외부 식별자의 첫 문자 수1 024메모리
한 변환 단위의 외부 식별자65 536메모리
한 블록으로 선언된 블록 유효 범위가 있는 식별자1 024메모리
한 변환 단위에 동시에 정의된 매크로 식별자65 536메모리
한 함수 선언의 매개변수256메모리
함수 호출의 인수256메모리
한 매크로 정의의 매개변수256메모리
한 매크로 호출의 인수256메모리
논리적 소스 행 하나의 문자65 536메모리
연결 뒤의 문자 문자열 리터럴 또는 와이드 문자열 리터럴의 문자65 536메모리
C 또는 C++ 개체의 크기(배열 포함)262 1444 294 967 296
#include 파일의 중첩 수준256메모리
중첩된 switch 문을 제외한 switch 문의 Case 레이블16 384메모리
단일 클래스, 구조체 또는 공용체의 데이터 구성원16 384메모리
단일 열거의 열거 상수4 096메모리
단일 struct 선언 목록의 중첩된 클래스, 구조체 또는 공용체 정의 수준256메모리
atexit()에 의해 등록된 함수3233
직접 및 간접 기본 클래스16 384메모리
단일 클래스에 대한 직접 기본 클래스1 024메모리
단일 클래스에 선언된 구성원4 096메모리
클래스의 가상 함수 최종 오버라이드, 액세스 가능 여부16 384메모리
클래스의 직접 및 간접 가상 기본1 024메모리
클래스의 정적 구성원1 024메모리
클래스의 Friend 선언4 096메모리
클래스의 Access Control 선언4 096메모리
생성자 정의의 구성원 이니셜라이저6 144메모리
한 식별자의 유효 범위 한정256메모리
중첩된 외부 지정1 024메모리
템플릿 선언의 템플릿 인수1 024메모리
재귀 중첩 템플릿 인스턴스화17메모리
try 블록별 처리기256메모리
단일 함수 선언의 Throw 지정256메모리
Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0348AK
Non-Confidential