Linux에서 대상 파일에 어떤 형식을 사용할 수 있는지 알고 싶습니다.
객체 파일에는 두 가지 유형이 있다는 것을 알고 있습니다.
- ELF 형식의 실행 파일
컴파일 후, 링크하기 전에 gcc에 의해 생성된 객체 파일입니다.
이러한 개체 파일의 형식은 무엇입니까?
아니면 ELF 형식이지만 실행 파일과 다른 하위 형식이 있습니까?
이런 종류의 목적 파일 형식을 실행 파일 형식으로 변환하는 것이 링커의 역할인가요?
- 다른 유형의 개체 파일이 있습니까?
답변1
코어 덤프는 일종의 객체 파일이기도 하며 일반적으로 ELF 형식이기도 합니다. 이 프로그램을 실행하면 "core"라는 파일이 생성될 수 있습니다.
int
main(int ac, char **av)
{
char *p = 0;
*p = 'a';
return 0;
}
내 file
명령은 다음과 같습니다.
core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'
답변2
예! 그들도 ELF이다. ELF 객체 파일이라고 합니다.