在C ++中编写库时,我们需要在头文件中隐藏实现。但是我们需要包含源文件以使库工作。但是用户可以在库中轻松找到源文件。那你怎么隐藏源文件呢?诸如boost之类的着名图书馆有什么作用?
答案 0 :(得分:1)
您无法在头文件中隐藏源代码。唯一的方法是将代码放在.cpp文件中,以便无法查看。此外,如果速度是一个问题,您可以使函数inline
要求编译器以这种方式优化它们。
STL和boost附带源代码,以便您可以阅读它(但由于它们使用的命名约定,它不容易阅读。)
答案 1 :(得分:1)
如果您绝对必须分发源代码,那么最好不要混淆代码。
但是,为什么您不希望您的客户看到来源?如果您觉得自己放弃太多,那么请为源代码收取更多费用,并提供可分发的库。
对于混淆器,请参阅:https://stackoverflow.com/questions/1025494/obfuscating-c-c-code