"class" 和 VC++ 中的 class 名称之间的东西是什么意思?

What does the thing between "class" and the class name in VC++ mean?

我有一个基于 third-party VC++ 的 DLL,我想在 Java 项目中使用,连同它的 header。我发现 BridJ 是一个很好的解决方案,但是 header 太复杂了,以至于 JNAerator 卡住它并冻结在 100% CPU,最后用 OutOfMemoryError: Java heap space 摆脱困境。所以我必须自己编写 header 所需内容的绑定。

现在,我必须通过注释来指导 BridJ。为此,我查看了 header 并发现了一个我不理解的部分,如下所示:

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

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

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

使用那个DLL时,它会归结为__declspec(dllimport)

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

它们 "boil down to" 通常由通过项目设置控制的编译器标志控制。