阅读:1133回复:1
请问:在例程和函数的区别?
俺在WINDOWS编程时经常看到回调函数的概念.现在再学WDM时,上面有说到了在操作系统时有回调例程的概念. 请问这两个概念有区别吗啊?
谢谢 |
|
沙发#
发布于:2003-01-12 11:51
应该是有区别的,给你举个例子吧
Example in snake.c, /* declare callback function */ DECLARE_DB_SORT_CB( SnakeSortRecord ) DECLARE_LIST_PROC_CB( Top10ListMsgProc ) //以上是需要应用回调函数的定义举例 ... /* add macro CBFUN around the callback function when passing to system */ if(DbOpen(DBMAMER, CBFUN(SnakeSortRecord) )!=SUCCESS)//打开Snake文件 // CBFUN(SnakeSortRecord) 是用到回调函数指针时需用的函数 return 1; ... /* add macro CBFUN around the callback function */ DbSetSortFunc(DBMAMER, CBFUN(SnakeSortRecord) );//注册排序函数 ... /* add macro CBFUN around the callback function */ listarea[areanum].unionData.OwnerDraw.fnMsgProc = CBFUN(Top10ListMsgProc);//回调函数 回调函数要定义在主程序的前面,它们的一般格式都如下所示:. void callback_func( GtkWidget *widget, gpointer func_data );. 调用下面这个方法将允许你将回调函数 与事件的关联断开:. void gtk_signal_disconnect( GtkObject *object, gint id );. 至于回调例程么,偶的理解时为了实现某些功能在程序中预先设置的某一类函数被用作被调用的。 :D :D |
|
|