如何阻止客户端检查库中的源代码

How to stop clients from examining the source code in your library

本文关键字:源代码 检查 何阻止 客户端      更新时间:2023-10-16

在C++中编写库时,我们需要在头文件中隐藏实现。但是我们需要包含源文件以使库正常工作。但是用户可以轻松地在库中找到您的源文件。那么如何隐藏源文件呢?像 boost 这样的著名图书馆是做什么的?

不能在头文件中隐藏源代码。 唯一的方法是将代码放在.cpp文件中,以便无法查看。 此外,如果速度是一个问题,您可以使函数inline要求编译器以这种方式优化它们。

STL 和 boost 附带源代码,因此您可以阅读它(但由于它们采用的命名约定,它不容易阅读(。

如果你绝对必须分发源代码,你最好混淆代码。

但是,为什么您不希望您的客户看到源头?如果你觉得你放弃了太多,那就向他们收取更多的来源费用,只提供一个可分发的库。

有关混淆器,请参阅:https://stackoverflow.com/questions/1025494/obfuscating-c-c-code