번번히 답장해주셔서 고맙습니다.

답답해서 /proc/ksyms를 출력해봤습니다.
제가 커널의 drivers에 있는 videodev.c 모듈에 함수를 이용할려고하는데요...
이 파일에 있는
EXPORT_SYMBOL(video_proc_entry)
EXPORT_SYMBOL(video_register_device)
EXPORT_SYMBOL(video_unregister_Device)
이것을 그냥두고 컴파일해서 이용하면 /proc/ksyms에
...
c891de04 __VERSIONED_SYMBOL(video_proc_entry) [videodev]
c891d6b8 __VERSIONED_SYMBOL(video_register_device) [videodev]
c891d810 __VERSIONED_SYMBOL(video_unregister_device) [videodev]
c891d000 __insmod_videodev_O/home/vlinux/cap/videodev.o_M3E1A1E0F_V132098
[videodev]
c891d060 __insmod_videodev_S.text_L2208 [videodev]
c891d900 __insmod_videodev_S.rodata_L800 [videodev]
c891de00 __insmod_videodev_S.data_L128 [videodev]
c891de80 __insmod_videodev_S.bss_L1024 [videodev]
...
이런식으로 나타나고... 제가 짠 프로그램에서 이 함수들이
unresolved symbol... 에러가 나타납니다.

여기서 EXPORT_SYMBOL을 제거하고 컴파일 하면 /pro/ksyms에
...
c891dde0 __insmod_videodev_S.bss_L1024 [videodev]
c891dc24 video_proc_entry [videodev]
c891d000 __insmod_videodev_O/home/vlinux/cap/videodev.o_M3E1A1EBB_V132098
[videodev]
c891d6b8 video_register_device [videodev]
c891d810 video_unregister_device [videodev]
c891dc28 videodev_proc_list [videodev]
c891d244 video_mmap [videodev]
c891d900 __insmod_videodev_S.rodata_L800 [videodev]
c891d860 videodev_init [videodev]
c891d060 __insmod_videodev_S.text_L2208 [videodev]
c891dc20 __insmod_videodev_S.data_L128 [videodev]
...
로 찍히고, 제 프로그램에서는 아무문제없이 잘 되거든요...
암만 생각해봐도 이해가가질 않아서요...
/proc/ksyms가 뭔가다르긴한데... 잘 모르겠습니다.

개구리 wrote..
: 뭔가 이상하네요
:
: 저역시 EXPORT_SYMBOL()을 이용하여 모듈간의 메모리 공유를
: 처리하는데
: 이걸 쓰면 문제가 생긴다?
:
: 혹시 다른 모듈에 선언되어 있는데 이 모듈의 함수를 참조하기 위해서
: 위 매크로를 사용하신 건 아니겠지요...