【问题标题】:Protection of generated source files保护生成的源文件
【发布时间】:2016-02-01 11:12:30
【问题描述】:

我在一家根据我们语言的不同输入文件编写 C++ 源文件生成器的公司工作。

然后使用标准 C++ 编译器(MSVC cl、gcc)将这些文件编译到可执行文件中,并在编译后将它们删除。

这些生成的文件取决于包含文件的数量,并与包含静态代码的静态库链接(不依赖于源文件)。这些文件存在于我们产品的安装目录中。

是否有任何解决方案/程序/技术可用于从用户文件系统中隐藏这些生成的文件,但让它们对 C++ 编译器可见?

我正在寻找跨平台解决方案(Linux、Windows),比如用户空间文件系统。

感谢您的任何建议。

【问题讨论】:

  • 为什么要这样做?这只会给整个过程和设置增加巨大的不透明性。谁应该从中受益?
  • 静态库不包含源代码,它们肯定包含目标代码?
  • @arkascha 其目的是保护生成文件中的知识,因此客户将收到他支付的费用,但竞争对手无法轻易获得知识。
  • @RichardCritten 部分是 XY,因为我试图尽可能地描述用法。但是还没有找到任何解决方案,因此保护这些源文件的任何其他方式都会很棒

标签: c++ linux windows compilation


【解决方案1】:

使用 gcc 可以直接从 stdin:How to compile code from stdin? 编译,只需要提供输入语言选项(通常从文件名中检测到)。

虽然不确定 MSVC。

【讨论】:

  • 是的,这可能有效,但我们必须实现源文件的 C 预处理器来保护我们的头文件。但是这个解决方案只会解决源文件的保护问题。
猜你喜欢
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
相关资源
最近更新 更多