Доступ Java терминал из C ++ с JNA - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь использовать getch() альтернативу на C ++, которую я нашел в сети в своей программе Java, поэтому я использую JNA для предоставления нативного доступа для Java. Однако, когда я вызываю метод с использованием JNA, он блокируется на неопределенный срок, что заставляет меня думать, что у него нет доступа к текущей консоли. Более того, когда я пытался войти в консоль с std::cout или получить ввод с std::cin с помощью JNA, я получил ошибку доступа к недопустимой памяти.

Что я хочу знать, это: можно ли установить консоль, которую будет использовать программа C ++, чтобы она могла регистрироваться и получать данные с консоли, используемой программой Java? Извините, если это немного расплывчато - я не знаю, как еще это выразить ...

интерфейс:

import com.sun.jna.Library;

interface NativeLib extends Library {
    int getch();
}

main:

import com.sun.jna.Native;
...
NativeLib lib = (NativeLib) Native.loadLibrary("getchar", NativeLib.class);
lib.getch();
...