Вызов методов логического массива JAVA с аргументами логического массива в C / C ++ - PullRequest
0 голосов
/ 12 июня 2018

Мне нужно вызывать некоторые методы Java с использованием C / C ++, а затем мне нужно использовать DPI в UVM или системный verilog для вызова методов C.У меня нет доступа к файлам JAVA или классам JAVA.У меня есть файл .jar, в котором присутствует мой класс и какие методы мне нужны для доступа.Я использую путь к этому файлу .jar в

options.optionString = "-Djava.class.path= path of .jar file

Я не могу найти класс, используя

clsH = env->FindClass("com/act/testdev/pa5/PA5");

Но я не могу получить идентификатор метода.Я знаю только имя метода в Java-классе, который является логическим методом с логическими аргументами

com.act.testdev.pa5.PA5.aes_encrypt(key_data, pt_data); 

Этот метод используется на каком-то другом языке, и вот код этого:

boolean[] aes_encrypt(boolean key_data[], boolean pt_data[]) 
{
    return com.act.testdev.pa5.PA5.aes_encrypt(key_data, pt_data);
}

Вот код, который я пытаюсь использовать для получения methodID.

if (clsH != NULL)
{
    //midMain       = env->GetMethodID(clsH, "<init>", "(ZZ)V");    
    midMain       = env->GetMethodID(clsH, "aes_encrypt", "(ZZ)V"); 
    printf("\n FOUND able to find the requested class midMain ==%x ==%x\n",midMain,clsH);       
}
else
{
    printf("\nUnable to find the requested class\n");       
}

if (midMain != NULL)
{
    //jstring StringArg = env->NewStringUTF("\nTestCall:Called from the C Program\n");
    printf("\nable to find the requested Method\n");        
    jbooleanArray BoolArg1 = env->NewBooleanArray(128);
    jbooleanArray BoolArg2 = env->NewBooleanArray(128);
    env->CallBooleanMethod(clsH,midMain,BoolArg1,BoolArg2);
    //env->CallStaticVoidMethod(clsH, midMain, NULL); //Calling the main method.
    //env->CallBooleanMethod(clsH, midMain, BoolArg); //Calling the main method.
}

Пожалуйста, помогите мне с этим, как я могу получить доступ к этому методу в c / c ++.Есть еще несколько методов, которые мне нужно вызывать так же, как только я смогу вызвать их, я попробую их позже.У меня нет идеи JAVA Я получил этот код в Интернете в качестве примера того, как вызывать методы Java из c / c ++.

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