1.3.2. 언어 호환

컴파일러에는 소스 언어에 대한 호환성이 엄격하게 적용되거나 완화되는 여러 가지 모드가 있습니다.

엄격한 모드

엄격한 모드에서는 컴파일러가 소스 언어와 관련된 언어 표준과의 호환성을 엄격하게 적용합니다. 예를 들어 // 스타일 주석을 사용하면 엄격한 C90을 컴파일할 때 오류가 발생합니다.

엄격한 모드에서 컴파일하려면 명령 행 옵션 --strict를 사용하십시오.

GNU 모드

GNU 모드에서는 관련 소스 언어에 대한 모든 GNU 컴파일러 확장을 사용할 수 있습니다. 예를 들어 GNU 모드는 다음과 같습니다.

  • 소스 언어가 C90, C99 또는 엄격하지 않은 C++인 경우 switch 문의 케이스 범위를 사용할 수 있습니다.

  • 소스 언어가 C90 또는 엄격하지 않은 C++인 경우 C99 스타일이 지정된 이니셜라이저를 사용할 수 있습니다.

GNU 모드에서 컴파일하려면 컴파일러 옵션 --gnu를 사용하십시오.

Note

일부 GNU 확장은 엄격하지 않은 모드에서도 사용할 수 있습니다.

예제

다음 예제에서는 소스 언어 모드와 언어 호환 모드 결합을 보여 줍니다.

  • 명령 행 옵션 --strict를 사용하여 .cpp 파일을 컴파일하면 표준 C++가 컴파일됩니다.

  • 명령 행 옵션 --gnu를 사용하여 C 소스 파일을 컴파일하면 GNU 모드 C90이 컴파일됩니다.

  • 명령 행 옵션 --strict--gnu를 사용하여 .c 파일을 컴파일하면 오류가 발생합니다.

추가 참고

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