Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C进程中启动Java?_Java_C_Multithreading_Clojure_Java Native Interface - Fatal编程技术网

如何从C进程中启动Java?

如何从C进程中启动Java?,java,c,multithreading,clojure,java-native-interface,Java,C,Multithreading,Clojure,Java Native Interface,我想向一个巨大的遗留C应用程序添加一些基于Java(实际上)的事件处理程序。 最直接、最容易维护的方法是什么?我希望Java类与C代码在同一进程中运行。这可能吗 似乎是为这个设计的。特别是,规范的定义似乎与此相关。的设计似乎就是为了实现这一点。特别是,规范的定义似乎是相关的。提供了java命令的源代码。它提供了一个很好的示例,说明了如何在C程序中创建Sun JVM OpenJDK提供了(以及即将推出的JDK 7)版本。您可以在两个不同的许可证下使用Java 5。提供了Java命令的源代码。它提供

我想向一个巨大的遗留C应用程序添加一些基于Java(实际上)的事件处理程序。
最直接、最容易维护的方法是什么?我希望Java类与C代码在同一进程中运行。这可能吗

似乎是为这个设计的。特别是,规范的定义似乎与此相关。

的设计似乎就是为了实现这一点。特别是,规范的定义似乎是相关的。

提供了
java
命令的源代码。它提供了一个很好的示例,说明了如何在C程序中创建Sun JVM


OpenJDK提供了(以及即将推出的JDK 7)版本。您可以在两个不同的许可证下使用Java 5。

提供了
Java
命令的源代码。它提供了一个很好的示例,说明了如何在C程序中创建Sun JVM


OpenJDK上提供了(以及即将推出的JDK 7)版本。您可以在两个不同的许可证下使用Java 5。

顺便说一句,这很容易使其“看起来”正确,但实际上更难正确执行。为什么希望它们在同一进程中运行?为什么不是同一条线

<>你可以考虑在TCP和IP之间通过C代码和java进程来创建一个桥。这样会更好,因为这样可以避免意外的维护

你在想“维护惊喜,什么维护惊喜?”啊!今天你想从C调用Java,但明天会有人想从另一个方向返回。这就是你的麻烦变得真正痛苦的地方

我以前来过这里。听我的建议:做TCP/IP网桥。这将防止Java崩溃。
-Stosh

顺便说一句,这很容易让它“看起来”正确,但要真正做到正确则困难得多。为什么希望它们在同一进程中运行?为什么不是同一条线

<>你可以考虑在TCP和IP之间通过C代码和java进程来创建一个桥。这样会更好,因为这样可以避免意外的维护

你在想“维护惊喜,什么维护惊喜?”啊!今天你想从C调用Java,但明天会有人想从另一个方向返回。这就是你的麻烦变得真正痛苦的地方

我以前来过这里。听我的建议:做TCP/IP网桥。这将防止Java崩溃。
-Stosh

你可以这样做,但考虑到你真的想编写一个大型C应用程序,你考虑过GUILE或Lua吗?它们都是为了这个目的而开发的。

你可以这样做,但考虑到你真的想编写一个大型C应用程序,你考虑过GUILE或Lua吗?他们都是为了这个目的而做的。

如果允许的话,我会投很多票。当让Java与其他任何东西进行互操作时,没有什么比它应该的更简单了。我有一个恐怖的故事,但在这个空白处没有空间;-)约翰斯托什,你能更具体地谈谈“TCP/IP网桥”吗?如果允许的话,我会投很多票。当让Java与其他任何东西进行互操作时,没有什么比它应该的更简单了。我有一个恐怖的故事,但在这个空白处没有空间;-)johnstosh,你能更具体地描述一下“TCP/IP网桥”吗?目标是在clojure中编写事件处理程序,在发生事件时从C程序调用。目标是在clojure中编写事件处理程序,在发生事件时从C程序调用。