我正在开发一个使用供应商提供的库的 C 嵌入式固件项目。例如,TCP/IP 堆栈库。供应商会定期更新这些库。但是,我们为我们的特定应用程序对库进行了许多添加和自定义。
在某些情况下,以前的设计人员获取了一个库源文件,对其进行了修改,然后将其重命名并将其移动到源中的不同文件夹中。这似乎有问题,因为它使跟踪文件和应用供应商库更新变得更加困难。
这种情况有哪些最佳实践?换句话说,将定制与原始库源文件分开是否可行?有哪些成功的方法呢?
您应该使用与项目分开的库文件。我建议使用版本控制(Mercurial、Git 或类似的)来管理更新:
那么你的历史可能看起来像这样:
A1 ------- A2
\ \
B1 - B2 -- B3 - B4
在哪里:
A1
是原始供应商库A2
是更新的供应商库B1
,是你B2
的B4
改变B3
将供应商的更改合并到您的更改中。