我有一个很好的符合标准的清洁代码库,我可以使用GCC的“ -ansi -pedantic-errors -Wextra ”等编译。
但是现在我需要使用一个带有相关标头的源库,这绝对不是干净的代码。
将此代码与我自己的代码隔离开来的最佳方法是什么,以便我仍然可以严格编译,但是可以允许对第三方代码进行宽大处理?
答案 0 :(得分:4)
没有好办法。
您可以重写源库头,小心维护所有调用类型并返回类型。很多工作。
您可以使用自己的库来前端库,这只是一个传递。还有很多工作要做。
您可以将库的使用隔离到几个模块中。然后,使用宽松选项编译这些模块。这需要多少工作取决于您的应用程序的编写方式。这可能是最好的方式。
答案 1 :(得分:3)
构建您的构建环境,使您从良好的代码依赖于错误的库代码。此外,通过在具有不同选项的单独编译中构建库代码,确保依赖性得到解决。这将允许您单独构建两个,但表达依赖关系,这将实现使用单个命令构建整个项目。 我是抽象的,因为我不知道你的构建环境。假设你正在使用makefile,你可以玩一些目标并实现这一目标。
答案 2 :(得分:0)
在项目之前静态编译库。让您的项目引用库头并链接它。
如果库标题非常糟糕,只需在它们周围写一些简单的包装器。