在编译期间将“脏”C代码与干净代码隔离的最佳方法是什么?

时间:2009-07-16 17:07:52

标签: gcc

我有一个很好的符合标准的清洁代码库,我可以使用GCC的“ -ansi -pedantic-errors -Wextra ”等编译。

但是现在我需要使用一个带有相关标头的源库,这绝对不是干净的代码。

将此代码与我自己的代码隔离开来的最佳方法是什么,以便我仍然可以严格编译,但是可以允许对第三方代码进行宽大处理?

3 个答案:

答案 0 :(得分:4)

没有好办法。

您可以重写源库头,小心维护所有调用类型并返回类型。很多工作。

您可以使用自己的库来前端库,这只是一个传递。还有很多工作要做。

您可以将库的使用隔离到几个模块中。然后,使用宽松选项编译这些模块。这需要多少工作取决于您的应用程序的编写方式。这可能是最好的方式。

答案 1 :(得分:3)

构建您的构建环境,使您从良好的代码依赖于错误的库代码。此外,通过在具有不同选项的单独编译中构建库代码,确保依赖性得到解决。这将允许您单独构建两个,但表达依赖关系,这将实现使用单个命令构建整个项目。 我是抽象的,因为我不知道你的构建环境。假设你正在使用makefile,你可以玩一些目标并实现这一目标。

答案 2 :(得分:0)

在项目之前静态编译库。让您的项目引用库头并链接它。

如果库标题非常糟糕,只需在它们周围写一些简单的包装器。