首页 > 解决方案 > 如何在一个项目中同时使用一个库和同一个库的修改版本?

问题描述

假设有一个由一些 my_lib.c 和 my_lib.h 组成的库

它是一个拥有数千名用户的开源标准库。但是,对于我的项目,我需要将该库用于两个不同的设备。其中一台设备可以按原样使用该库,但另一台设备需要修改该库的读/写函数并将其替换为 my_read() 和 my_write() 函数。

目前,我在我的项目中包含了该库的两个不同版本,一个是原始版本,另一个是修改版本。然而,这意味着项目中的大量代码重复、代码量的增加和社区的不接受。

如何以最优化的方式解决这个设计问题?


有关更多详细信息(此处失去一般性):

它不是一个库,它是 linux Common Clock Framework,用于同时控制两个不同 SOC 的时钟,一个是主机(其时钟操作可以使用正常的 readl/writel),另一个是通过 pcie 连接的从机(其时钟需要我们已经实现的映射 pcie_read/pcie_write)。

标签: clinux-kernel

解决方案


推荐阅读