繁体   English   中英

如何从C进程中启动Java?

[英]How to start Java from within a C process?

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

Java本机接口似乎是为此目的而设计的。 特别地, 规范的这一部分似乎是相关的。

顺便说一句,这很容易使它“看起来”正确,但是要真正正确地执行则困难得多。 为什么要它们在同一过程中运行? 为什么没有相同的线程?

您可能考虑在您的C代码和Java进程之间通过TCP / IP进行桥接。 这样会更好,因为这样可以避免维护意外。

您在想“维护意外,什么维护意外?” 啊! 今天,您想从C调用到Java,但是明天某人想要返回另一种方式。 那就是您的麻烦变成真正痛苦的地方。

我以前来过这里 征询我的意见:建立TCP / IP桥接器。 这样可以防止Java崩溃。 -斯托什

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

Java 6 (以及即将发布的JDK 7)版本可从OpenJDK获得。您可以在两个不同的许可下下载 Java 5的源代码

您可以通过这种方式进行操作,但是由于您确实想编写大型C应用程序的脚本,因此您是否考虑过GUILE或Lua? 他们俩都是出于这个目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM