Вызов метода Java из кода C ++ без передачи JavaVm - PullRequest
1 голос
/ 29 февраля 2012

У меня есть класс в C ++, который должен ответить для HTTP-соединения, этот класс должен установить соединение , отправить ответы и выполнить некоторые другие функции. Этот класс является частью огромного проекта, который я компилирую и, наконец, получаю библиотеку .so для Android.

class HTTPSClient
{
public:
    WinHTTPSClient();

    ~WinHTTPSClient();

    bool Connect(const XMLString& a_strURL);
};

Теперь я хочу вызывать Java-функции из Подключить функцию в c ++. У меня есть опыт вызова функций Java из кода C ++, но я всегда передаю JavaVM классу, например, вызываю init(JavaVM* javaVm); и даю в качестве аргумента javavm, который происходит из собственного кода.

Теперь мой вопрос: Можно ли вызвать метод Java из кода C ++ без передачи в качестве аргумента какого-либо JavaVm.

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Вы можете использовать Java Invocation API для создания виртуальной машины непосредственно в вашем собственном коде.

Джим С.

0 голосов
/ 29 февраля 2012

Определите JavaVM как глобальную / статическую переменную некоторого класса, например, обернув его как одиночный.Доступ к переменной возможен без явной передачи ее в качестве аргумента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...