有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何让Java和C程序一起通信

我用C语言编写了一个命令行接口程序。这类程序(如您所知)等待在终端中键入的用户命令,并根据这些命令做出反应。实际上,程序实现了一个回调函数,该函数解析命令并调用相应的函数来响应用户

现在,我必须为这个程序的桌面(Ubuntu)版本制作一个Java GUI(图形用户界面),然后将同一个程序移植到Android平台(当然GUI会尊重Android框架),所以我正在寻找最好的方法

我听说过JNI和JNA,但我不知道哪一个对我来说是最好的。顺便问一下,JNI和JNA之间的主要区别是什么

那么其他IPC技术和中间件(比如DBUS)呢

如有任何建议,将不胜感激

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    如果您的程序的功能完全可以通过命令行使用(并且它只通过简单的命令而不是基于curses的全屏界面工作),那么通过命令行将GUI界面与C程序连接起来可能会更容易,而不是与JNI混为一谈

    只需使用ProcessBuilder启动程序,并通过其stdin和stdout流与之通信