| |||
| Home > ARM 컴파일러 사용 > ARM 컴파일러 정보 > ARM 컴파일러 호출 | |||
일반적으로 ARM 컴파일러는 다음 명령으로 호출됩니다.
armcc -c [options]ifile_1...ifile_n
입력 파일 은
하나 이상 지정할 수 있습니다. 대시(ifile_1 ... ifile_n-)가 있는 입력 파일을 지정하면 컴파일러가 stdin에서
읽습니다. POSIX 옵션(--)을 지정하여 뒤에 나오는 모든 인수를 명령 스위치가
아닌 파일 이름으로 처리되도록 지정할 수 있습니다.
역방향 호환성을 위해 이전 버전의 컴파일 도구에서 지원하는 도구 이름 중 하나를 지정하여 ARM 컴파일러를 호출할 수 있습니다. 자세한 내용은 Appendix E 이전 옵션 사용을 참조하십시오.
컴파일러 시작 구성(예: C 또는 C++, ARM 또는 Thumb)은 다음과 같은 컴파일러 요소에 의해 결정됩니다.
컴파일러를 호출하는 데 사용되는 도구 이름
파일 확장명
명령 행 옵션 --c90 또는 --cpp
이러한 규칙의 우선 순위는 다음과 같습니다.
파일 확장명은 ARM 컴파일러를 호출하는 데 사용되는 도구 이름으로 결정된 기본 구성을 재정의합니다.
명령행 옵션은 파일 확장명에 의해 결정된 기본 구성을 재정의합니다.
Table 2.1은 지정한 파일 확장명에 따라 컴파일러 시작 구성이 조정되는 방식을 보여 줍니다.
Table 2.1. 파일 확장명에 따라 조정되는 시작 구성
| 파일 확장명 | 명령어 세트 | 소스 언어 |
|---|---|---|
.cpp | 조정 안 함 | C++ |
.c++ | 조정 안 함 | C++ |
.cp | 조정 안 함 | C++ |
.c | 조정 안 함 | 조정 안 함 |
.cc | 조정 안 함 | C++ |
.tc | Thumb | C |
.tcpp | Thumb | C++ |
.ac | ARM | C |
.acpp | ARM | C++ |
명령을 하나만 실행하여 multifile을 컴파일하는 경우에는 모든 파일이 같은 타입(C 또는 C++)이어야
합니다. 컴파일러에서 파일 확장명에 따라 언어를 변경하지는 못합니다. 다음 예에서는 컴파일러에서 test1.c 소스
언어를 사용하여 컴파일하려 하기 때문에 오류가 생성됩니다.
armcc -c test1.c test2.cpp 오류: C3472E: 지정한 소스 언어가 없고 (--cpp 또는 --c90) 소스 파일 확장명이 충돌합니다.
파일 확장명이 충돌하는 파일을 지정하는 경우 컴파일러에서 파일 확장명에 관계없이 C 또는 C++를 컴파일하도록 설정할 수 있습니다. 예를 들면 다음과 같습니다.
armcc -c --cpp test1.c test2.cpp
와
같이 filename.cmd.c로 시작하는 인식할 수 없는 확장명이 나타나면 경고가 발생합니다. 컴파일러에서
소스 언어를 결정하는 방법에 대한 자세한 내용은 소스 언어 설정을 참조하십시오.
단일 컴파일에 여러 소스 파일을 지정하면 PCH(사전 컴파일된 헤더) 파일 처리가 지원되지 않습니다. PCH 처리를 요청하고 기본 소스 파일을 둘 이상 지정하면 컴파일러에서 오류를 생성하고 컴파일을 중단합니다. 자세한 내용은 사전 컴파일된 헤더 파일을 참조하십시오.
파일 확장명(참고: Table 2.1)이나 컴파일러를 호출하는 데 사용되는 도구 이름에 따라 ARM 컴파일러에서 조정한 내용을 재정의할 수 있습니다. 재정의하려면 Table 2.2에 표시된 것처럼 적절한 명령 행 옵션을 지정하십시오. pragma를 사용하여 소스 언어를 설정하는 데 대한 자세한 내용은 코드 생성을 제어하는 pragma를 참조하십시오.
Table 2.2. 옵션을 재정의하여 조정되는 시작 구성
| 명령 행 옵션 | 명령어 세트 | 소스 언어 |
|---|---|---|
| 조정 안 함 | C |
| 조정 안 함 | C++ |
| ARM | 조정 안 함 |
| Thumb | 조정 안 함 |
다음 명령을 실행하는 경우를 예로 들겠습니다.
tcpp foo.acpp --c90
컴파일러는 Table 2.3에 표시된 것처럼 결정합니다.
Table 2.3. 구성 예
| 명령 구성요소 | 설명 | 명령어 세트 정의 | 소스 언어 정의 |
|---|---|---|---|
| tcpp | 도구 이름 | Thumb | C++ |
.acpp | 파일 확장명 | ARM | C++ |
| 명령 행 옵션 | 조정 안 함 | C |
| 결과 | ARM | C |
위의 내용의 결과로 만들어진 구성이 표 맨 밑의 결과 행에 표시됩니다.
이 옵션에 대한 자세한 내용은 소스 언어 설정 및 명령어 세트 타겟 작성을 참조하십시오.