어셈블리 파일과 .o 파일 (start.o 및 main.o)로 컴파일 된 c 파일을 가지고 있으며이를 ld와 연결하려고합니다.ld가 c 파일을 찾을 수 없습니다.
가 link.ld는 링커 스크립트,하지만 난 그것을 실행할 때, 난이 오류가 얻을ld -T link.ld -o kernel.bin start.o main.o
: 어셈블리 파일에
start.o:start.o:(.text+0x2d): undefined reference to `_main'
을, 나는 C를 호출 내가이 명령을 사용하고 있습니다 이 함수가있는 파일 :
stublet:
extern _main
call _main
jmp $
아무 잘못 볼 수 있습니까?
링커 스크립트 란 무엇입니까? – pjc50
@ pjc50이 코드는 지금 작업중인 것과 같습니다. 기본 커널 개발에 대한 자습서. http://www.osdever.net/bkerndev/Docs/creatingmain.htm 관련 페이지를 참조하십시오. – Chris