c - 在 C 或 C++ 中,我可以对哪些文件可以包含我的头文件施加限制

标签 c include header-files

在 C/C++ 中,我编写了一个可供所有人使用的头文件,但是我想限制包含它的文件。如果我的头文件包含在“未经授权的”c/cxx 文件中,有什么方法可以生成编译器错误?

最佳答案

当然,这没有适当的安全功能(这很愚蠢),但是如果在包含文件时某个宏不存在,您可以做的是在头文件中产生错误,这样你的 header.h 开始于

#ifndef AUTHORIZED_TO_INCLUDE_THE_HEADER
#error "You're not authorized to include this file"
#endif

然后在包含这个的文件中,做

#define AUTHORIZED_TO_INCLUDE_THE_HEADER
#include "header.h"

关于c - 在 C 或 C++ 中,我可以对哪些文件可以包含我的头文件施加限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36457390/

相关文章:

c - 如何找到更好的算法来计算非常大的矩阵的特征值和特征向量

c - Glade3 和 C 编程

perl - 如何在 Perl 中 tar 多个文件?

C++循环包含问题

c++ - 类 header.h 不包含在 main 中

c++ - 将 HeaderDoc 与 .hpp 文件而不是 .h 文件一起使用

c - C 项目 git 子模块构建的最佳实践

c - 读取 C 中的行

c++ - GCC -I 破坏标准库编译

php - 在 PHP 函数中打开数据库连接