Что значит между «классом» а имя класса в VC ++ значит?

У меня есть сторонняя библиотека на основе VC ++, которую я хочу использовать в проекте Java, вместе с его заголовком. Я понял, что BridJ — хорошее решение для этого, но заголовок настолько сложен, что JNAerator захлебывается им и просто зависает на 100% CPU, наконец выручая OutOfMemoryError: Java heap space, Поэтому я должен написать привязки для необходимых вещей из шапки самостоятельно.

Теперь я должен вести BridJ через аннотации. Для этого я посмотрел на заголовок и нашел часть, похожую на следующую, которую я не понимаю:

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

Итак, что я хочу знать: что делает SomethingStrange значит здесь? Это другое дочернее пространство имен? И как мне правильно подключить это в BridJ?

-2

Решение

При создании DLL, SomethingStrange будет сводиться к __declspec(dllexport),

когда с помощью эта DLL, она будет сводиться к __declspec(dllimport),

Они позволяют использовать объявление класса как автору, так и пользователям конкретной библиотеки DLL.

То, к чему они «сводятся», обычно контролируется флагами компилятора, управляемыми через настройки проекта.

2

Другие решения