■CallBack 함수■

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
void LibFunc(void (*pFunc(void))
{
    //...
    pFunc();
}
void MyEvent()
{
    Uart_Printf("call me..");
}
void User_Main()
{
    LibFunc(MyEvent);
}
cs
#CallBack 함수란 간단히 말하자면 LibFunc라는 CallBack 함수를 정해두고 거기서 함수를 불러서 사용하는 것입니다.

즉, Main에서는 LibFunc라는 CallBack함수만 사용하면 되는 것입니다.


리눅스 임베디드에서 CallBack은 중요한데 리눅스 커널을 디버깅 하는데 많은 시간이 필요하고 양도 방대합니다.

그래서 디버깅중에 모듈을 넣고 빼고 하는데에 CallBack을 사용합니다.


그래서 디바이스 드라이버를 형태(틀)만 짜서(CallBack함수를 이용해) User1든 User2든 자신만의 각각 필요한 기능을

구현해서 개발하기가 수월합니다.


CallBack함수에 대한 자세한 설명이 링크에 있어서 참고합니다.

http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_QnA_etc&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=3059

+ Recent posts