[질문]리눅스 커널에 대하여 많이 아시는 분!!!!!!
교학사에서 나온 [리눅스 매니아를 위한 커널 프로그래밍]이란 책을 공부
하고 있습니다.
제4장에 시스템 호출 구현이라는 부분에서
책에 나온 대로....
1. 시스템 호출 번호를 할당 하고
2. 시스템 호출 테이블에 등록하였으며
3. 시스템 호출 테이블에 등록한 새로운 처리함수를 구현하여 화일로
만들었으며
4. Make화일을 수정하였으며
5. 커널을 컴파일 하였고
6. 이 새로운 시스템 호출 함수를 응용하는
간단한 예제를 만들었는뎅.....
일단 컴파일이 되지않고 있습니당.
리눅스에서....뭐좀 할려고 하면.....컴파일이 돼지 않아서.....미치겠습
니당
누가 저 좀 도와주세여...
컴파일시 에러는
[spark@localhost test]$ cc test_newsyscall.c
//이렇게 컴파일 명령을 주면.....아래와 같이 에러가 나와여...
test_newsyscall.c In function `newsyscall'
test_newsyscall.c2 `__NR_newsyscall' undeclared (first use in this
function) //근데....이건 /usr/src/linux/include/asm-i386/unistd.h
화일에 제가 238번으로 등록했걸랑여.......
test_newsyscall.c2 (Each undeclared identifier is reported only
once
test_newsyscall.c2 for each function it appears in.)
[spark@localhost test]$
참고로 예제의 소스는 아래와 같습니당.
#include
_syscall0(int, newsyscall); //여기서 새로 등록한 시스템 콜을 호출하
는 매크로를 이용하여
int main()
{
int i;
i = sys_newsyscall(); //여기서 호출하는 것 같은뎅..........
return 0;
}
누가 도와주세영 TT
Re: [질문]리눅스 커널에 대하여 많이 아시는 분!!!!!!
#include < ... > 과
#include " ... " 의 차이를 공부해 보세요.
참고로 더 말씀드리면 컴파일러가 참조하는 unistd.h 화일이 변경돼지 않
아서 그런겁니다. 찾아서 고치시면 돼요. ^^;
댓글 달기