目前,我们有一段代码允许服务插件向内核提供通信形式,例如 tcp/ip、udp/ip、usb 等……这些服务插件将通知程序类实例反馈给内核以进行进一步处理。
在当前的实现中,一个服务项目(它是一个在运行时由核心通过 dlopen 和朋友引入的单独的动态链接库)将针对驻留在核心源代码(一个单独的项目)中的 notifier.cpp 文件进行编译。这提供了对通知方法实现的访问权限。这完全没有抱怨。
两个备选方案: 1. 将通知方法实现放在头文件中。2. 将通知方法声明为虚拟并延迟绑定直到运行时。
避免计算开销问题 选项 2 的影响是什么?
我们还有其他选择吗?
谢谢