1.3.1. 언어 확장

컴파일러가 지원하는 언어 확장은 다음과 같이 분류됩니다.

C99 기능

컴파일러는 C99의 몇 가지 언어 기능을 다음과 같이 사용할 수 있습니다.

  • 엄격한 C90에 대한 확장(예: //-스타일 주석)

  • 표준 C++와 엄격한 C90에 대한 확장(예: restrict 포인터)

자세한 내용은 다음 항목을 참조하십시오.

표준 C 확장

컴파일러는 엄격한 C99에 대한 여러 가지 확장(예: 이전 스타일 비 프로토타입 정의에 우선하는 함수 프로토타입)을 지원합니다. 자세한 내용은 표준 C 언어 확장을 참조하십시오.

표준 C에 대한 이러한 확장은 C90에서도 사용할 수 있습니다.

표준 C++ 확장

컴파일러는 엄격한 C++에 대한 여러 가지 확장(예: 클래스 구성원의 선언에 정규화된 이름)을 지원합니다. 자세한 내용은 표준 C++ 언어 확장을 참조하십시오.

이러한 확장은 표준 C 또는 C90에 사용할 수 없습니다.

표준 C 및 표준 C++ 확장

컴파일러는 엄격한 C++ 및 엄격한 C90과 관련된 몇 가지 확장(예: 익명 클래스, 구조체 및 공용체)을 지원합니다. 자세한 내용은 표준 C 및 표준 C++ 언어 확장을 참조하십시오.

GNU 확장

컴파일러는 GNU 컴파일러에서 제공하는 몇 가지 확장(예: GNU 스타일의 확장된 lvalue 및 GNU 기본 제공 함수)을 지원합니다. 자세한 내용은 다음 항목을 참조하십시오.

ARM 관련 확장

컴파일러는 ARM 컴파일러와 관련된 다양한 확장(예: 명령어 내장 함수 및 기타 기본 제공 함수)을 지원합니다. 자세한 내용은 Chapter 4 컴파일러 관련 기능을 참조하십시오.

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