링커를 작성하는 방법
-
05-07-2019 - |
문제
바이트 코드를 출력하는 C에 대한 컴파일러를 작성했습니다. 그 이유는 여러 플랫폼에서 실행되는 임베디드 플랫폼에 대한 응용 프로그램을 작성할 수 있었기 때문입니다.
컴파일러와 어셈블러가 있습니다.
링커를 써야하고 붙어 있습니다.
객체 형식은 바이트 코드 통역사를 중심으로 설계된 사용자 정의 형식이므로 기존 링커를 실제로 사용할 수 없습니다.
내 가장 큰 장애물은 링크 된 바이너리를 출력하기 위해 객체 코드를 구성하는 방법입니다. 현재 동적 연결이 필요하지 않습니다. 먼저 정적 링크 작업을해야합니다.
해결책
http://linker.iecc.com 이 주제에 대해 내가 아는 유일한 책입니다.
다른 팁
Gold Linker (현재 Binutils의 일부)의 주요 개발자 중 하나 인 Ian Lance Taylor는 링커 작동 방식에 대한 일련의 블로그를 게시했습니다. 당신은 그것을 찾을 수 있습니다 여기.
두 번째 링커와 로더 책. 당신은 당신의 객체 형식이 사용자 정의 형식이라고 말합니다. 형식이 귀하의 제어하에있는 경우, Bytecode와 함께 ELF 형식을 새로운 기계 아키텍처, LA X86, SPARC, ARM 등으로 사용하는 것을 고려할 수 있습니다. .
제휴하지 않습니다 StackOverflow