我有一个非常复杂的项目要从 C++ (Linux) 迁移到 Java 目前,C++ 版本作为共享库 (.so) 分发,然后是顶级接口头类。实现细节对最终用户完全隐藏。
这个问题不是关于将 C++ 代码移植到 Java,而是关于创建类似的分发包。
假设我在 C++ 中有一个非常简单的“公共”类topapi.h
:
class TopApi
{
public:
void do( const string& v );
}
实际的实现对 API 用户是隐藏的。实际项目可能包含另外 100 个文件/类 do() 将调用。
该发行版将包含 2 个文件:topapi.so 和 topapi.h
用户将#include "topapi.h"
在他们的代码中,并将他们的应用程序与topapi.so
.
问题是:1.如何在Java中实现类似的效果(隐藏IP相关代码)2.如何向用户显示公共方法(与代码保护无关,只是上面的头文件的java版本)