我知道已经有一些关于此事的帖子,但他们都没有回答我的问题。
在这种情况下,我用C语言编写了程序但是我在java中开发了我的GUI。所以我需要做的就是在点击按钮或组合框时调用我的C程序。
为了做到这一点,是否可以只编译C程序然后在我的java界面中调用它? (如果有可能,我该怎么做?)。
或者我必须使用JNI? (我已经阅读了一些关于它的帖子,但仅仅为一个项目学习它似乎相当复杂。)
答案 0 :(得分:1)
要获得最大的互操作性,您应该使用JNI,但作为一种简单的方法,只需编译C代码并使用Runtime.getRuntime().exec()
从JAVA调用C可执行文件。
如果您在UNIX下阅读响应,则可以执行以下操作:
String line;
Process p = Runtime.getRuntime().exec( "/path/to/C/executable" );
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();