-2

我有一个基于 VC++ 的第三方 DLL,我想在 Java 项目中使用它,以及它的头文件。我发现 BridJ 是一个很好的解决方案,但是标头非常复杂,以至于 JNAerator 窒息而死,只是在 100% CPU 时冻结,最后使用OutOfMemoryError: Java heap space. 所以我必须自己从标题中编写所需内容的绑定。

现在,我必须通过注释来指导 BridJ。为此,我查看了标题,发现有一个部分如下所示,我不明白:

namespace SomeNamespace {
  class SomethingStrange TheClass {
    public:
      TheClass();
    // more
  }
}

所以,我想知道:SomethingStrange这里是什么意思?这是另一个子命名空间吗?以及如何在 BridJ 中正确连接?

4

1 回答 1

2

构建 DLL 时,SomethingStrange将归结为__declspec(dllexport).

使用DLL 时,它将归结为__declspec(dllimport).

它们允许特定 DLL 的作者和用户都使用类声明。

它们“归结为”的内容通常由通过项目设置控制的编译器标志控制。

于 2015-06-09T12:06:06.460 回答