[질문] 함수 포인터..
글쓴이: bosub / 작성시간: 수, 2006/01/11 - 6:11오후
dillo 소스 중에 일 부분입니다.
Html_callback 함수는 어떻게 돌아가나요?
함수의 동작 원리와 파라미터가 어떻게 들어가는지 가르쳐 주세요
typedef void (*__IOCallback_t)(int,void*, __CacheFile_t*); Dw *a_Html_text(const char *Type, void *P, __IOCallback_t *Call, void **Data) { DilloWeb *web = (DilloWeb *) P; DilloHtml *html = Html_new(web->bw); *Data = (void *) html; /******* This function *****************/ *Call = (__IOCallback_t) Html_callback; /***********************************/ /* todo: this should probably be a function of dw_page */ web->child_linkblock = &html->linkblock->linkblock; html->linkblock->linkblock.bw = web->bw; return html->dw; } static void Html_callback(int Op, void *B, __CacheFile_t *FPtr) { if (Op) Html_close(B); else Html_write(B, FPtr); }
Forums:
자세히 안 봐서(소스가 너무 복잡해요.)정확할지는 모르겠지만대
자세히 안 봐서(소스가 너무 복잡해요.)
정확할지는 모르겠지만
대충 봤을 때 P 에 web 객체를 넣어 a_Html_text 함수를 호출하면 web으로 부터 html 객체를 생성한 후, Data에 그 객체를, Call에 그것을 처리할 Html_callback 함수를 설정하여 리턴해 주는 것 같습니다.
a_Html_text를 호출한 부분에서 다음과 같이 사용될 것 같은데요.
아마 web 에 대해 html 말고 다른 객체(image 등)를 처리하기 위해
a_Html_text, a_Jpeg_Image 등과 그에 연결된 Html_callback, Jpeg_callback 등의 함수군들이 있을 것 같네요.
Re: [질문] 함수 포인터..
이 코드는 콜백을 등록하는 부분 밖에 없는 듯 합니다. 여기에서 의문 점이 있으신 것인가요?
- 죠커's blog / HanIRC:#CN
콜백은 어떻게 동작을 하나요?
콜백은 어떻게 동작을 하나요?
5초 앞이라도 내다 볼 수 있다면..
어딘가에서 Call(para...);**->Call(para
어딘가에서
Call(para...);
**->Call(para...);
로 부르게 될겁니다.
콜백 매카니즘은 어떻게 사용을 합니까?간단한 심플 예제라도 있으시면
콜백 매카니즘은 어떻게 사용을 합니까?
간단한 심플 예제라도 있으시면 가르쳐 주세요 *^^*
5초 앞이라도 내다 볼 수 있다면..
댓글 달기