[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. 명령행 옵션

이번 장에서는 모든 GNU 어셈블러의 버젼에서 사용가능한 명령행 옵션에 대해서 설명한다. 특수한 특수한 기계 구조의 to particular machine architectures. 옵션을 보려면 see section 기계에 의존하는 것들을 보라.

만일 GNU C 컴파일러 (버젼 2)를 통해 as를 호출한다면, ‘-Wa’옵션을 사용하여 어셈블러에게 인자를 전달 할 수 있다. 어셈블러 인자는 반드시 각각을 (‘-Wa’도 포함하여) 콤마(‘,’)에 의해 구분되어야 한다. 예를 들면:

 
gcc -c -g -O -Wa,-alh,-L file.c

이것은 표준출력으로 하이레벨과 어셈블리 소스를 리스트로 출력한다.

(FIXME-CW)

Usually you do not need to use this ‘-Wa’ mechanism, since many compiler command-line options are automatically passed to the assembler by the compiler. (You can call the GNU compiler driver with the ‘-v’ option to see precisely what options it passes to each compilation pass, including the assembler.)

’R’과 많은 기계에 따른 옵션들과 같은, 컴파일러 명령행 옵션은 컴파일러를 통해서 어셈블러에게 전달될 것이다. 그래서 보통 여러분들은 이러한 ‘-Wa’ 메카 니즘이 필요하지 않을 것이다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 리스트를 출력하기: -a[dhlns]

이러한 옵션은 어셈블러를 사용할 때 리스트 출력을 가능하게 한다. ‘-a’는 하 이레벨, 어셈블리, 심볼 리스팅을 요청한다. 다른 글자들은 리스트를 출력하기 위해 특별한 옵션을 선택한다: ‘-ah’는 하이레벨 언어의 리스트를 요구하고, ‘-al’은 어셈블리 리스트를 출력 하도록하고, ‘-as’는 심볼 테이블이 리스트에 포함되도록 한다. 하이레벨 리스 팅은 ‘-g’와 같은 컴파일러 디버깅 옵션을 요청하며, 어셈블리 리스트 옵션 ‘-al’도 또한 요청된다.

-ad’ 옵션은 리스트를 출력할 때 디버깅 의사 작동자(pseudo-ops)를 제한할 때 사용할 수 있다.

이러한 옵션 중 하나를 사용했다면, 리스트를 출력하는 형태를 제어할 수 있으 며, 여러 지시자(.list, .nolist, .psize, .eject, .title, .sbttl)를 사용하여 출력의 형태를 다양하게 할 수 있다. ‘-an’ 옵션은 모든 형식처리와 관련된 것들 을 하지 않는다. 리스트 출력을 할 필요가 없어 ‘-a’ 옵션을 사용하지 않는다면, 리스트를 출력하는 데 관여하는 리스팅 제어 지시자들은 아무 영향을 미치지 못 한다.

-a’ 다음에 글자를 조합하여 하나의 옵션으로 할 수 있다. 그 예로, ‘-aln’처럼.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 -D

이 옵션은 아무런 데도 영향을 미치지 못하고 다만 as와 같이 작업할 다른 어 셈블러를 위해서 쓰여진 스크립트를 만드는 것을 허용한다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 빠른 작업: -f

-f’는 컴파일러가 출력한 프로그램을 어셈블 할 때에 사용된다. ‘-f’는 어셈블 작업을 할 때 전처리 작업을 건더뛴다. See section 전처리.

경고: 만일 활성화된 파일이 전처리 작업이 필요하다면(주석이 있다던지하면) ‘-f’가 사용되었을 때는 as는 올바르게 작동하지 않을 것이다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 .include 패스 검색: -I path

.include 지시자에 명시된 파일을 찾기 위한 디렉토리의 목록을 이 옵션을 사용 하여 path부분에 추가하라(see section .include). 여러분들은 여러개의 패스를 포함시키기 위해서 필요한 만큼 여러번 -I를 사용할 것이다. 현재의 작업 디렉 토리는 항상 먼저 검색되며, 그 다음에 as는 ‘-I’에 있는 디렉토리를 왼쪽에서 오른쪽의 순서대로 검색한다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5 다른 테이블: -K

as는 가끔 ‘.word sym1-sym2’ 형식의 지시자들때문에 발생된 코드를 변경할 때 가 있다(see section .word). 만일 어렇게 되었을 때 경고메세지를 출력하고 싶다 면 ‘-K’옵션을 사용할 수 있다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.6 지역 라벨을 포함하기: -L

L’(대문자)로 시작하는 라벨은 지역라벨(local labels)라 불리운다(see section 심볼 명칭). 보통 이러한 라벨들은 컴파일러와 같은, 어셈블러 프로그램들 을 조합하는 프로그램의 내부적인 용도로 사용되기 때문에 디버깅 시에는 볼 수 없다. 보통 asld는 이러한 라벨을 버리는데, 그래서 일반적으로 그것들을 디 버깅할 수 없는 것이다.

-L’옵션은 ‘L…’ 심볼을 목적 파일에 간직하게 한다. 만일 당신이 이렇게 한다면 링커 ld로 하여금 ‘L’로 시작하는 심볼들을 보존하라고 시키는 것이 된다.

By default, a local label is any label beginning with ‘L’, but each target is allowed to redefine the local label prefix. On the HPPA local labels begin with ‘L$’.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7 Assemble in MRI Compatibility Mode: -M

The -M or --mri option selects MRI compatibility mode. This changes the syntax and pseudo-op handling of as to make it compatible with the ASM68K or the ASM960 (depending upon the configured target) assembler from Microtec Research. The exact nature of the MRI syntax will not be documented here; see the MRI manuals for more information. The purpose of this option is to permit assembling existing MRI assembler code using as.

The MRI compatibility is not complete. Certain operations of the MRI assembler depend upon its object file format, and can not be supported using other object file formats. Supporting these would require enhancing each object file format individually. These are:

There are some other features of the MRI assembler which are not supported by as, typically either because they are difficult or because they seem of little consequence. Some of these may be supported in future releases.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.8 목적 파일 이름짓기: -o

as가 실행될 때 항상 하나의 목적 파일을 출력한다. 기본적인 이름은 ‘a.out’(Intel 960에서는 ‘b.out’) 이다. 목적 파일 이름으로 이런 것이 아 닌 다른 이름을 사용하려면 이 옵션을 사용할 수 있다.

목적 파일이 호출된다면, as는 이미 존재하는 같은 이름의 파일은 덮어 쓰버릴 것이다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.9 data 섹션과 text 섹션을 결합하기: -R

-R은 모든 data 섹션의 데이타를 text 섹션으로 옮겨서 목적 파일을 출력 하도록 한다. 이것은 마지막 잠깐동안 이루어진다. 여러분의 바이너리 데이타가 같더라도, data 섹션은 다르게 재배치된다. 목적 파일에서 data 섹션의 부분은 0 바이트가 되는 데 이것은 data 섹션 의 바이트들이 text 섹션에 모두 추가되었기 때문이다. (See section 섹션과 재배치.)

-R이 명시되었을 때, 그것은 더 짧은 주소 위치이동을 생성하는 것이 가능하게 된다. 그 이유는 text와 data 섹션을 더이상 왔다갔다 해야 할 필요성이 없어졌 기 대문이다. 우리는 이렇게 간단하게 하는 작업들을 다른 오래된 as버젼들과의 호환성을 위해서 보류하고 있다. 미래에는, -R 은 이런 방법으로 작동할 것이다.

as가 COFF 출력을 하도록 설정되었다면, 이러한 옵션은 당신이 ‘.text’, ‘.data’ 라고 이름 붙여진 섹션을 사용했을 경우에만 유효하다.

-R is not supported for any of the HPPA targets. Using -R generates a warning from as.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.10 Display Assembly Statistics: --statistics

Use ‘--statistics’ to display two statistics about the resources used by as: the maximum amount of space allocated during the assembly (in bytes), and the total execution time taken for the assembly (in CPU seconds).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.11 버젼 알기: -v

-v’ 옵션을 사용함으로써 as의 버젼을 알 수 있다(‘--version’도 같다).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.12 경고 메세지 억제하기: -W

컴파일러가 출력한 것을 어셈블 할 때에는 as는 결코 경고나 에러메세지를 내보내지 않는다. 그러나 사람에 의해 작성된 프로그램은 종종 경고를 야기 시킨다. 모든 그러한 경고는 표준에러 파일로 내 보내질 것이다. 이 옵션을 사용하면, 그러한 경고가 발생하지 않는다. 이 옵션은 경고 메세지에만 영향 을 미친다. 이것은 as가 어셈블 하는 방법에는 변화를 미치지는 못한다. 에러 시에는 어셈블리를 중단하고, 조용하게 메세지를 발생한다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.13 Generate Object File in Spite of Errors: -Z

After an error message, as normally produces no output. If for some reason you are interested in object file output even after as gives an error message on your program, use the ‘-Z’ option. If there are any errors, as continues anyways, and writes an object file after a final warning message of the form ‘n errors, m warnings, generating bad object file.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Autobuild on September 28, 2013 using texi2html 1.82.