【发布时间】:2014-02-26 11:25:31
【问题描述】:
我在 C 中有一个类似于函数覆盖的要求。我有 2 台具有不同设备 ID 的设备。我有一个只调用 device_create(device_id) 的进程。该进程不知道要调用哪个 device_create。如果 device_id 与驱动程序的设备 ID 匹配,则由设备驱动程序执行 device_create。有没有办法在 C 中做到这一点?
【问题讨论】:
-
放一些你试过的代码
-
看看工厂模式。
-
阅读lwn.net/Articles/444910 - “内核中面向对象的设计模式”,有 C 技术来创建接口并实现它们
-
我不明白你在问什么。你的代码在哪里?在调用过程中,在设备中?这个电话是在什么情况下发出的? “进程不知道调用哪个 device_create。”.这个电话是怎么打的?覆盖应该在哪里?
-
我同意这个问题需要大量澄清。尝试解释你正在做的事情的为什么 - 这将帮助人们给你有用的建议。设备驱动程序的代码如何加载到调用
device_create()的进程中?
标签: c overriding abstraction