本文主要介绍钩子钩子技术(keepalive钩子功能),下面一起看看钩子钩子技术(keepalive钩子功能)相关资讯。
一、什么是钩子函数?
钩子函数是一个只有在特定条件下才会被执行的函数。将你实现的功能挂载到挂载点。
1.钩子函数:是我们自己实现的函数,函数类型匹配挂载点(返回值,参数列表)。2.hook:即hook或register,使钩子函数对目标可用。3.目标挂载点:也就是我们挂钩子函数的地方(我们想在这个目标点实现自己的功能。2.使用场景。
钩子函数通常用在过程代码中,挂载点可能会也可能不会执行我们实现的函数,只有在满足一定条件的情况下。
第三,比如
钩子的概念在windows的消息响应机制中尤为明显。可能我们都写过windows桌面相关的程序(像mfc),有各种各样的消息监控和响应机制。例如,要监控鼠标左键是否被按下,我们需要实现onleftkeydown之类的方法,这个方法可以被称为hook函数。同时我们还要注册钩子函数,这个函数是由mfc中的一组宏来实现的。这样,当鼠标左键按下时,就可以转移到我们定义的方法。
让 让我们想想上面的例子。左击方法的具体逻辑是框架本身实现的还是我们的用户(调用者)实现的?显然应该靠自己去实现。框架本身为了提供通用的框架能力而实现这种方法的功能是没有意义的,所以框架提供了一个挂载点,把具体逻辑的实现交给用户,灵活可用。
四、使用方法
钩子函数的实现就是通过一定的关系将两个函数关联起来。例如,在上面的例子中,register_rice_hook函数和make_rice通过self.make_rice关联。如果要执行make _ rice函数,需要先注册(register_rice_hook)。然后判断注册时传入的self.make_rice是否为空。如果为空,则注册不成功,不执行自己编写的函数make_rice。如果不为空,则执行函数make_rice,大大扩展了类的可执行方法。
标签:
函数挂钩
了解更多钩子钩子技术(keepalive钩子功能)相关内容请关注本站点。