모듈 프로그래밍을 열공하고 있는 대학생입니다. ^^
공부하다가 커널 심볼에 대한 내용이 나왔는데요...
"커널 심볼로 공개"
이 말의 뜻을 도저히 모르겠어요 ㅠㅠ
선배님들 도와주세요 ...
모듈 개발시에 보통 아래와 같이 작성할 겁니다.
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
임베디드 리눅스 관련 프리렌서 지향
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
모듈 개발시에 보통 아래와 같이 작성할 겁니다.
모듈 개발시에 보통 아래와 같이 작성할 겁니다.
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
임베디드 리눅스 관련 프리렌서 지향
댓글 달기