禁止在文件外访问

时间:2013-07-17 14:15:28

标签: c++

现在我知道有人会在没有阅读的情况下说静态或匿名命名空间,所以让我说不,这不是我想要的。我正在寻找的东西允许我对我的代码库中的文件进行“隔离”,这样就无法访问该文件之外的任何内容,这样如果有人更改了它,就不会无意中搞砸了其他地方的东西。 。这可能吗?

2 个答案:

答案 0 :(得分:4)

  

我正在寻找的东西可以让我对我的代码库中的文件进行“隔离”,这样它就无法访问该文件之外的任何内容,这样如果有人更改了它,就不会无意中拧紧其他地方的事情。这可能吗?

在大多数情况下,不,不是C ++语言的一部分。

为了实现目标,请考虑以下一项/部分:

  • 将代码从您的文件移到另一个库中以减少附带损害的可能性
  • 通过动态工具测试提供“保证”,例如valgrind,Purify,ASan(“地址消毒剂”),电围栏
  • 就此文件的代码的预期设计发表评论(“隔离”,“封装”等)
  • 构建时限制:转储源文件中的预处理输出,标记新#include s(白名单之外的那些)出现的情况。

答案 1 :(得分:2)

让文件不包含项目其余部分的任何标题。当然,这并不能防止恶意编码,但是,C ++中也没有其他任何功能。