【发布时间】:2011-12-06 13:12:48
【问题描述】:
所以有一个第三方库有一个你需要包含的头文件才能使用它。由于库的实现不是面向对象的,所以我写了一个类来封装库的所有用法,所以如果需要替换它,我可以修改该类的实现。
由于其他开发人员将在相同的代码库中工作,我想要一种方法在他们包含库时给他们一个错误。这是为了避免到处都有对图书馆的引用。
例如,如果他们这样做:
#include "cool_library.h"
他们收到一条错误消息:
do not include directly cool_library.h, instead use the cool_library_wrapper class
这可能吗?我正在使用 GNU GCC
【问题讨论】:
-
我认为更简洁的解决方案是将检查添加到您的构建过程(makefile 或您使用的任何内容)。您可以在使用时添加 cppcheck 或其他代码完整性检查器。 C 预处理器并不完全适合这项工作。
-
grep 'some_header.h' include/ src/ -R应该这样做。并且不要忘记解雇屡犯者。这不是源代码层面要解决的问题。
标签: c++ gcc include precompile