무엇을 리셋 함수라고 합니까?

6979 단어 callbackDelphi
콜백 함수는 응용 프로그램이 Windows 시스템 DLL 또는 기타 DLL에 호출하는 함수로, 일반적으로 메시지를 캡처하거나 시스템 정보를 얻거나 비동기적인 이벤트를 처리하는 데 사용된다.응용 프로그램은 리셋 함수의 주소 포인터를 DLL에 알려주고, DLL은 적당한 때 이 함수를 호출합니다.리셋 함수는 미리 정해진 매개 변수 형식과 전달 방식을 준수해야 한다. 그렇지 않으면 DLL이 그것을 호출하면 프로그램이나 시스템의 충돌을 일으킬 수 있다.일반적으로 콜백 함수는 표준 Windows API 호출 방식, 즉 을 사용합니다.stdcall, 물론 DLL 작성자는 스스로 호출 방식을 정의할 수 있지만, 고객 프로그램도 반드시 같은 규정을 준수해야 한다.在__stdcall 방식에서 함수의 매개 변수는 오른쪽에서 왼쪽으로 압축되어 창고에 들어간다. 지침이나 인용을 명확하게 가리키는 것을 제외하고 매개 변수는 모두 값에 따라 전달되고 함수가 되돌아오기 전에 스스로 매개 변수를 창고에서 팝업한다.
생동적인 묘사
너는 한 상점에 가서 물건을 샀는데 마침 네가 원하는 물건이 물건이 없어서 점원에게 너의 전화를 남겼다. 며칠 후에 가게에 물건이 있으면 점원이 너의 전화를 걸었다. 그리고 너는 전화를 받은 후에 가게에 가서 물건을 찾았다.이 예에서 당신의 전화번호는 리셋 함수라고 합니다. 당신이 전화를 점원에게 남기면 리셋 함수를 등록하라고 합니다. 가게에 물건이 생기면 리셋과 관련된 사건을 촉발한다고 합니다. 점원이 당신에게 전화를 하면 리셋 함수를 호출한다고 합니다. 가게에 가서 물건을 찾는 것을 리셋 사건에 응답하는 것이라고 합니다.(by 상계령)
전문적 해석
In computer programming, a callback is a reference to executable code, or a piece of executable code, that is passed as an argument to other code. This allows a lower-level software layer to call a subroutine (or function) defined in a higher-level layer.
수학의 정의
디자인 모드에서template method pattern이template method의 수량이 무한히 1에 가까워질 때의 극한입니다.(by vczh )
통속적이고 알기 쉬운 견해.
당신의 친구가 당신의 집을 떠날 것이라고 상상하고 갈 때 당신은 상대방에게 "당신이 집에 도착한 후에 나에게 전화를 걸어라. 그래야 내가 당신이 안전하게 도착했다는 것을 알게 될 것이다."라고 말했다.이게 말 그대로 콜백이에요.
예를 들어 설명하다.
#include 
#include 
 
/* The calling function takes a single callback as a parameter. */
void PrintTwoNumbers(int (*numberSource)(void)) {
    printf("%d and %d
"
, numberSource(), numberSource()); } /* A possible callback */ int overNineThousand(void) { return (rand() % 1000) + 9001; } /* Another possible callback. */ int meaningOfLife(void) { return 42; } /* Here we call PrintTwoNumbers() with three different callbacks. */ int main(void) { PrintTwoNumbers(&rand); PrintTwoNumbers(&overNineThousand); PrintTwoNumbers(&meaningOfLife); return 0; }

반향 작용
리셋은 알림 메커니즘에 사용할 수 있다. 예를 들어 때때로 프로그램에 타이머를 설정해야 한다. 일정한 시간이 되면 프로그램은 상응하는 알림을 받지만 알림 메커니즘의 실현자는 우리의 프로그램에 대해 아무것도 모른다.이때 특정한 원형의 함수 바늘이 있어야 한다. 이 바늘로 리셋을 해서 우리의 프로그램 이벤트가 발생했음을 알려야 한다.
보고 나서 보충할 내용이 있다고 생각하시면 저에게 메시지를 남겨주세요:)
참고 자료
http://stackoverflow.com/questions/824234/what-is-a-callback-function?answertab=votes#tab-top
http://en.wikipedia.org/wiki/Callback_(computer_science)
http://www.zhihu.com/question/19801131
http://wmnmtm.blog.163.com/blog/static/3824571420105484116877/
http://stackoverflow.com/questions/9596276/how-to-explain-callbacks-in-plain-english-how-are-they-different-from-calling-o

좋은 웹페이지 즐겨찾기