emacs 中的 defadvice,使用它的正确上下文是什么

defadvice in emacs, what's correct context to use it

有人可以对 (defadvice ...) 做一个简短的解释吗,我不知道什么时候适合使用它,似乎在 C/C++/[=14 中并不常见=] 语言?如附图所示的例子。非常感谢。

建议函数(无论是使用 defadvice 还是更新的 advice-add 等)是重新定义函数的替代方法。

如果您不是某个函数的作者,并且它可能已经在您的代码之外的各个地方使用,您可以重新定义它或建议它,然后 每次使用该函数 将使用您的重新定义或您的建议。这是可逆的:您可以禁用您的建议。

一般来说,重新定义一个函数不能很好地与其他库一起使用,这些库本身可能希望以某种方式重新定义或扩展它。

建议的要点是,它允许多个库以合理控制的方式更改或增强函数定义,从而减少不同库相互踩脚趾的机会。或者至少这样可以很容易地消除任何库更改对函数的影响。