링커 옵션 순서에 따라 .map 파일의 차이가 있습니까?링커에 대한 옵션 순서에 따라 .map 파일의 차이가 있습니까?
나는 소프트웨어가 나는 링커 옵션으로 컴파일하고 난 링커에 대한 옵션의 순서를 변경하고 코드
에 대한 이득을 구축 할 수 있도록하지만 두에 다음 코드
을 구축 생성 된 .map 파일은 다르지만 크기는 같습니다.
왜 ????
링커 옵션 순서에 따라 .map 파일의 차이가 있습니까?링커에 대한 옵션 순서에 따라 .map 파일의 차이가 있습니까?
나는 소프트웨어가 나는 링커 옵션으로 컴파일하고 난 링커에 대한 옵션의 순서를 변경하고 코드
에 대한 이득을 구축 할 수 있도록하지만 두에 다음 코드
을 구축 생성 된 .map 파일은 다르지만 크기는 같습니다.
왜 ????
어떤 컴파일러와 링커를 사용하고 있는지 잘 모르겠습니다. 나는 그것이 gcc라고 생각한다.
서로 다른 관련없는 옵션의 순서는 개체 나 다른 출력을 변경하지 않을 것입니다. 하지만 옵션간에 종속성이있는 경우 순서에 따라 컨텍스트가 변경 될 수 있습니다.
man ld
: ld 명령 줄 옵션 중 일부는 명령 줄의 어느 지점에서나 지정할 수 있습니다. 그러나 -l 또는 -T와 같은 파일을 참조하는 옵션은 명령 행에 옵션이 나타나는 지점에서 오브젝트 파일 및 기타 파일 옵션에 상대적인 파일을 읽게합니다. 다른 인수를 사용하여 파일이 아닌 옵션을 반복하면 더 이상의 결과가 나타나지 않거나 해당 옵션의 (명령 줄의 왼쪽에있는 것보다 먼저 발생)을 무시할 수 있습니다. 의미가 두 번 이상 지정 될 수있는 옵션은 아래 설명에 명시되어 있습니다.
IAR 컴파일러와 링커를 사용하고 있습니다. –
-f "$ {workspace_loc :/$ {ProjName}/링커 파일의 경로}"-cM16C -J2, 합계 1 ,,, 1 = _APPL_CK_ROM_BEGIN-_APPL_CK_ROM_END (기본 이름 $ @) 695 -Oelf, spc = $ (기본 이름 $ @) elf == ========================================================================================================== ==== -cM16C -HFFFF -xeimnso -J2, 합계 1, 1, 1 = _APPL_CK_ROM_BEGIN-_APPL_CK_ROM_END _APPLH_CK_ROM_BEGIN-_APPLH_CK_ROM_END -rt -l $ (OUTFILE) .map -I. \ $ (OBJDIR) -I. \ $ (LNKDIR) \t -Omotorola-S28 = $ (OUTFILE) .s28 \ \t -Oieee695, LBM = $ (OUTFILE) 0.695 \ ,726 \- 자신, SPC = $ (OUTFILE) .elf –
@ MuhammedS.ELtahan 제발 의견에 많은 데이터를 덤프하지 마십시오, 읽을 수 있습니다. 질문을 편집하고 필요한 모든 정보를 포함하십시오. – user694733