如何在隐藏源文件的 Linux 中编译 C++ 代码? [关闭]

Posted

技术标签:

【中文标题】如何在隐藏源文件的 Linux 中编译 C++ 代码? [关闭]【英文标题】:How to compile C++ codes in Linux with source files hidden? [closed] 【发布时间】:2018-09-25 16:27:56 【问题描述】:

有没有办法在 Linux 中编译 C++ 源文件并使这些文件对用户不可读?将文件加密或将它们读入内存是可以接受的。 我们正在开发基于 Linux 的软件,我们不希望我们的用户直接访问我们的源代码文件。

【问题讨论】:

我认为最好的办法是为流行的 linux 发行版生成二进制文件。 如果文件被加密,则需要提供解密密钥,编译器才能读取源代码。 试图使位不可复制就像试图使水不湿。 注意如何使用 GPL 下的材料,否则您将被要求向公众发布源代码。不过,这是一个许可证问题,而不是代码问题。不确定它是否是这里的主题,即使它是一个更好地与律师讨论的主题.. @SamVarshavchik:这实际上并不难。将其加热至 373K 或冷却至约 223K。作为一名物理学家,我可能对不可复制位也有意见,但这些需要进一步冷却。 【参考方案1】:

一旦从 C++ 源文件创建二进制文件,就不需要原始源文件来运行程序。您只能分发已编译的程序。

【讨论】:

【参考方案2】:

只需使用您的软件及其依赖项构建一个容器映像,然后在任何地方运行它。无需分发源代码或针对特定分发进行编译。

例如,您可以使用 Flatpak 或 Docker。

【讨论】:

以上是关于如何在隐藏源文件的 Linux 中编译 C++ 代码? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在VS2010中运行编译C和C++?

如何在 Linux 上高效编译 Visual Studio C++ 项目

如何在VS2010中运行编译C和C++?

C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?

Linux 是不是有更快的 c++ 编译器?

OpenCV C++ Linux g++ 编译