【发布时间】:2015-04-15 08:37:03
【问题描述】:
我想制作一个能够在运行时覆盖方法的插件系统。
有些答案说函数指针,但是定义的函数或类呢?
像这样:
class foo
{
public:
bar(int foobar);
}
有没有办法获取或替换它的函数指针?
顺便说一句,挂钩不被视为答案,因为它非常特定于平台且很危险。
【问题讨论】:
-
C 和 C++ 是不同的语言。
-
这是可能的,而且是特定于平台的。例如,它用于 Linux 内核 (ksplice)。它与可执行格式有关,而不是与语言有关。 PS:你想达到什么目标?
-
@ibre5041:Linux 内核不使用 C++,这大大简化了事情。例如,没有(运算符)重载。
标签: c++ function-pointers