3.1.12. 진단 메시지의 출력 제어

다음은 진단 메시지의 출력을 제어하는 다양한 옵션입니다.

--brief_diagnostics

더 간단한 형식의 진단 출력이 사용되는 모드를 사용하거나 사용하지 않습니다. 이 옵션을 지정하면 원래 소스 행이 표시되지 않고 오류 메시지 텍스트가 너무 길어 한 행에 맞지 않아도 다음 행으로 이어지지 않습니다. 기본값은 --no_brief_diagnostics입니다.

--diag_style {arm|ide|gnu}

진단 메시지를 표시하는 데 사용되는 스타일을 지정합니다.

arm

ARM 어셈블러 스타일을 사용하여 메시지를 표시합니다. --diag_style을 지정하지 않은 경우 이 옵션이 기본 옵션입니다.

ide

오류가 발생한 행의 행 번호 및 문자 수를 포함합니다. 이 값은 괄호 안에 표시됩니다.

gnu

GNU 스타일을 사용하여 메시지를 표시합니다.

--diag_style=ide 옵션을 선택하면 --brief_diagnostics 옵션이 암시적으로 선택됩니다. 명령 행에서 명시적으로 --no_brief_diagnostics를 선택하면 --diag_style=ide에 의해 암시적으로 선택된 --brief_diagnostics가 무시됩니다.

--diag_style=arm 옵션 또는 --diag_style=gnu 옵션의 선택이 --brief_diagnostics 선택을 의미하지는 않습니다.

--diag_error tag{,tag,…}

지정된 태그가 있는 진단 메시지를 오류 심각도로 설정합니다 (Table 3.1 참조).

--diag_remark tag{,tag,…}

지정된 태그가 있는 진단 메시지를 설명 심각도로 설정합니다 (Table 3.1 참조).

--diag_warning tag{,tag,…}

지정된 태그가 있는 진단 메시지를 경고 심각도로 설정합니다 (Table 3.1 참조).

--diag_suppress tag{,tag,…}

지정된 태그가 있는 진단 메시지를 표시하지 않습니다.

--unsafe

다양한 아키텍처의 명령어를 오류 없이 어셈블할 수 있습니다. 해당 오류 메시지를 경고 메시지로 변경합니다. 또한 연산자 우선순위에 대한 경고를 표시하지 않습니다 (바이너리 연산자 참조).

--diag_ 옵션 중 네 개는 표시되지 않은 메시지 수를 나타내는 tag를 필요로 합니다. 둘 이상의 태그를 지정할 수 있습니다. 예를 들어, 숫자 1293187이 있는 경고 메시지를 표시하지 않으려면 다음 명령을 사용하십시오.

armasm --diag_suppress 1293,187 ...

어셈블러 접두사 A--diag_error, --diag_remark--diag_warning과 함께 사용하거나 메시지를 표시하지 않을 때 사용할 수 있습니다. 예를 들면 다음과 같습니다.

armasm --diag_suppress A1293,A187 ...

진단 메시지는 잘라내어 명령 행에 직접 붙여 넣을 수 있습니다. 접두사를 사용하는 것은 선택 사항입니다. 그러나 접두사 문자가 포함될 경우 armasm 식별 문자와 일치해야 합니다. 다른 접두사가 있으면 어셈블러에서는 메시지 번호를 무시합니다.

Table 3.1에서는 옵션 설명에 사용된 심각도의 의미에 대해 설명합니다.

Table 3.1. 진단 메시지의 심각도

심각도설명

치명적 오류

치명적 오류는 어셈블리가 중지되는 문제를 나타냅니다. 이 오류에는 명령 행 오류, 내부 오류 및 포함 파일 누락이 포함됩니다.

오류

오류는 어셈블리 언어의 구문 또는 의미 규칙 위반을 나타냅니다. 어셈블리가 계속되지만 객체 코드가 생성되지 않습니다.

경고

경고는 코드에서 문제를 나타낼 수 있는 일반적이지 않은 상황을 나타냅니다. 심각도가 오류인 문제가 더 발견되지 않으면 어셈블리가 계속되고 객체 코드가 생성됩니다.

주의

주의는 일반적이지만 권장되지 않는 어셈블리 언어 사용을 나타냅니다. 이러한 진단은 기본적으로 생성되지 않습니다. 심각도가 오류인 문제가 더 발견되지 않으면 어셈블리가 계속되고 객체 코드가 생성됩니다.


Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential