Каков наилучший способ ограничить использование определенных заголовков (функций самой библиотеки) в определенных файлах Cpp. И если он не соответствует установленным правилам, компиляция должна быть остановлена.
Это не об обнаружении лишних включений. Речь идет об ограничении разработчиков рамками приложения.
Например, если существует класс osUtils как osUtils.h, и если в соответствии с этим, среда разработки этого приложения предписывает использование osUtils.h для работы файловой системы, например, для создания папки. но всегда есть шанс, что отдельному модулю будет удобно нарушить это правило, включив sys / stat и используя метод mkdir (). Но если намерение предоставить здесь фреймворк, скажем, для кроссплатформенной абстракции или специальной логики обработки пути, цель теряется, если делать это вне фреймворка. Есть ли способ ограничить это? Например, ограничение использования sys / stat.h в определенных файлах (за исключением файла osUtils.h в этом случае) может помочь решить проблему. но как реализовать это, чтобы оно не скомпилировалось, если правило нарушено.
Я не знаю, как сделать это, нарушив компиляцию — идея сбоя компиляции из-за корректного кода мне не нравится. У меня есть несколько других идей:
Других решений пока нет …