.map 파일에서 'N/A (command line)'는 무엇입니까?

기술노트 13971

아키텍처:

All

컴포넌트:

linker

업데이트:

2021-07-16 오전 1:12

소개

이 공간은 일부 특정 배치 명령을 기반으로 할당됩니다.

배치 명렁어 예시

IAR XLINK Linker를 위한 다음 명령을 보시기 바랍니다:

-DSPACE=8000
-Z(DATA)MYSEGMENT+SPACE=4000-FFFFFF

이 명령은 MYSEGMENT 세그먼트를 주소 4000 그 이상에 할당합니다. 0x8000 (SPACE) 추가 바이트도 MYSEGMENT 끝에 할당됩니다. 만약 MYSEGMENT가 0x45678 바이트 사이즈를 가진다면 세그먼트 맵에 0x4D678 바이트(0x45678 + 0x8000)로 표시되고, SPACE 가 여유공간인 경우, 모듈 맵은 N/A (command line) 32 768 (0x8000)를 표기합니다.

배치 명령에 할당된 추가 공간이 프로그램의 일부가 아니며 모듈에 상주하는 것이 아니라 명령줄에 정의되어 있기 때문에 이러한 방식으로 나열됩니다. 이는 주로 쉽게 구성할 수 있는 방식으로 스택과 힙의 크기를 설정하는 데 사용됩니다.

배경

이름은 "Linker point of view"에서 비롯되었습니다. 링크는 컴파일러 및/또는 어셈블리 도구에 대해 알지 못합니다. 링크는 "relocatable CODE and DATA modules"을 출력에 연결하기만 하면 사용 가능한 메모리에 저장됩니다. 이 데이터는 재배치할 수 없으므로 다른 방식으로 링커에 들어갑니다. 그리고 "Linker point of view"에서 "fixed placed DATA"는 명령줄의 추가 입력입니다.

 

모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.