커널에서 printk 대신 printf를 썼을 때 오류는 이렇게 밖에 안보여주나ㅠ_ㅠ
글쓴이: sayhappy / 작성시간: 월, 2007/02/12 - 11:22오전
커널 소스(kernel/sched.c)를 수정하고 컴파일했는데
make bzImage 에서 마지막에 이미지 만들기 직전에 에러를 냈습니다.
kernel/kernel.o(.text+0x861): In function `schedule':
: undefined reference to `puts'
puts.. -_-a 대체 뭘까..
puts 내가 뭘 출력하게 했나?
소스를 가만히 살펴보다가 보니..
printk대신에 printf를 썼더라구요.
헐.. 왜 이 에러는 마지막에 이렇게 찾기 어렵게 나오는 걸까요?
이해하는데 도움 좀 주시면 감사하겠습니다. +_+
Forums:
그건요
printf는 내부적으로 puts를 호출합니다. 커널을 컴파일하고나서
링킹할때 puts가 없기 때문에 나는 에러입니다.
리눅스 커널은 printk를 씁니다.
댓글 달기