
도와주세요!!
글 수 15,339
2014.11.04 20:08:47 (*.104.30.151)
17408
안녕하세요.
안드로이드 커널 상에서 write하는 값을 binary로 출력하려고 하는데 문제가 있어 질문합니다.
data를 파일입출력 함수를 이용해서 emmc에 저장하려고 하는데
#include <stdio.h>를 하게되면 찾지 못하더라구요.
fatal error: stdio.h: No such file or directory compilation terminated,
fopen()을 이용하려는 파일은 linux/block/blk-core.c인데
커널 소스에서 찾아보니 fopen을 전혀 안쓰는 것도 아닌데 왜 이렇게 되는건가요?
그리고 stdio.h를 찾아보니 fopen 함수는 없던데(/linux/arch/powerpc/boot/stdio.h에서요)
파일 입출력을 하려면 어떻게 해야할지 알려주시면 감사하겠습니다.
fopen은 user mode에서만 사용해서인것 같기도 한데
그럼 kernel 상에서 일부 값을 file로 저장하고 싶으면 어떻게 해야 하나요?
printk로 보여주는 방법 말고요.
기본적으로는 커널에서 파일 io 는 하지 않는 것이 맞습니다.
우회적인 방법으로는 log 파일 형태로 어플리케이션에게 제공하고 파일 저장은
어플리케이션이 하는 방법이 있구요.
아주 방법이 없는 것은 아니지만... 복잡하기도 하고 그걸 만드느니 그냥 우회적으로
하는 것이 편리하지 않나 하는 생각입니다.