相信hook对广大程序员并不陌生,它是一种函数类别,允许基本代码调用扩展代码。可是,为什么有这种特点的函数要叫hook呢?
以下是我的一家之言,大伙儿姑妄听之。如果对于你的理解有帮助,幸莫大焉。
我想之所以叫钩子,我们可以假设程序是一个起重机,它会执行钩住东西的动作。但是这个要钩的东西到底是什么,就由具体操作人员决定了。比如,他要处理翻车现场时,就是要钩起一辆车。他要处理建高楼任务时,可能就要钩起一条钢筋。所以,“钩起”的动作就是基本代码的事儿,具体钩起的东西(以及这个东西具体要做的事)就是扩展代码负责的范围。