모듈프로그래밍에서 커널 심볼로 공개 ?

zizak의 이미지


모듈 프로그래밍을 열공하고 있는 대학생입니다. ^^

공부하다가 커널 심볼에 대한 내용이 나왔는데요...

"커널 심볼로 공개"

이 말의 뜻을 도저히 모르겠어요 ㅠㅠ

선배님들 도와주세요 ...

poplinux의 이미지

모듈 개발시에 보통 아래와 같이 작성할 겁니다.

static int proc(void)
{
printk(KERN_ALERT "%s() : called\n", __FUNCTION__);
return 0;
}

이렇게 작성할 경우 이 모듈안에서는 proc() 를 마음대로 불러서 쓸 수 있지만 그 외에서는 쓸수가 없습니다.

그래서 아래와 같이 커널 심볼을 외부로 공개하도록 지정해 줍니다.

static int proc(void)
{
printk(KERN_ALERT "%s() : called\n", __FUNCTION__);
return 0;
}
EXPORT_SYMBOL(proc);

이렇게 하면 proc() 라는 함수를 이 모듈외에 다른 커널 스페이스에서도 사용할 수 있습니다.

========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux

임베디드 리눅스 관련 프리렌서 지향