转换到另一个库(特别是在C ++中)

时间:2013-04-29 15:17:22

标签: c++ linux transitions

在某些情况下,库在Linux中已经过时;开发人员建议转换到另一个库。我想知道过渡的步骤是什么?

例如,我的软件和许多其他软件一样需要libipq.h,这已经过时了。开发人员告诉libipq用户转换到nfnetlink_queue如何让我的软件开始工作,就像其他这些图书馆用户一样?

2 个答案:

答案 0 :(得分:3)

  1. 将两个库添加到您的项目中。
  2. 逐渐转换一个又一个功能,以使用新库而不是旧库。彻底测试每个移植的功能。
  3. 将所有功能移植到新库时,请删除旧功能。

答案 1 :(得分:0)

类似的图书馆

如果库足够相似,请根据新库的功能定义过时的函数。然后只需在代码中替换它们。确保转换完成后,您可以通过删除不必要的混乱并删除包装器来进行优化。

不同的库

如果库(功能或性能方面)太差异,那么考虑重做部分工作可能是值得的。在这种情况下,您可能希望为程序的某些部分提供一个全新的结构以适应新库,或者通常以不同的方式进行思考。在这种情况下,先前的技术会导致以一种方式设计的代码灾难,并被迫表现得像另一种方式。