지도 파일에서 함수의 절대 경로를 가져 오는 방법이 있습니까? 지도 파일 지원 형식은 다음과지도 파일 함수 경로
0001:000016a0 func 00000001400026a0 f lib:func.o
이 상황에 따라 유용하지 않을 수 있습니다
지도 파일에서 함수의 절대 경로를 가져 오는 방법이 있습니까? 지도 파일 지원 형식은 다음과지도 파일 함수 경로
0001:000016a0 func 00000001400026a0 f lib:func.o
이 상황에 따라 유용하지 않을 수 있습니다
"FUNC"의 절대 경로를 얻을 수있는 방법이 있나요하지만, 일부 링커는 여러 오브젝트 파일을 가지고 지원하지 않습니다 다른 디렉토리에서 같은 이름. 그래서 some_directory/func.o와 some_other_directory/func.o를 그들에게 주면, 그들 중 하나만 링크됩니다. 나는 CodeWarrior가 이것을 알고 있습니다.
이 문제를 피하기 위해 모든 개체 파일에 고유 한 이름이 있는지 확인합니다. 내가 사용하는 규칙은 모듈 이름의 약어 (예 : func_module.o)를 포함합니다. 해당 규칙을 사용하면 오브젝트 파일을 쉽게 식별 할 수 있습니다. 또는 프로그래밍 방식으로 처리해야하는 경우 파일 검색 기술로 충분합니다.
일부 Visual Studio 버전에서는 .c 및/또는 .cpp 파일의 구성에 관계없이 모든 개체 파일을 단일 디렉터리에 저장하고 충돌을 피하기 위해 숫자 접미사를 자동으로 추가합니다. 어떤 오브젝트 파일이 어떤 .c 파일로 이동하는지 알아 내려면 프로젝트 파일을 읽어야합니다.
나는 당신이 옳다고 생각합니다. Map 파일은 obj 파일에서 데이터를 가져오고 일반적으로 공통 디렉토리에 저장됩니다. 그래서 나는 C 파일의 절대 경로를 얻을 수 없을지도 모른다. –