在 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/