是否可以从Java运行C源代码?

时间:2011-10-23 10:46:20

标签: java c

现在我有一些C源代码,我想在我的java应用程序中使用它。 我需要执行C源代码,并将结果返回到我的java应用程序。不是将所有C源代码重写到java,而是如何在我的java应用程序中重用C的源代码?

4 个答案:

答案 0 :(得分:10)

看看Java Native Interface

  

Java Native Interface(JNI)是一个编程框架   使Java虚拟机(JVM)中运行的Java代码能够调用和   由本机应用程序调用(特定于...的程序)   硬件和操作系统平台)和其他编写的库   语言,如C,C ++和汇编。

答案 1 :(得分:7)

有以下几种方式。

  1. JNI(见@AurelioDeRosa +1的回答)
  2. JNA
  3. 如果您的C程序可以作为命令行实用程序运行,为什么不只是使用Runtime.getRuntime()。exec()或ProcessBuilder执行它?

答案 2 :(得分:5)

两个选项:

  1. 通过JNI或JNA
  2. 建立图书馆
  3. 制作一个可执行文件,并使用ProcessBuilder或Runtime.exec调用它,并在需要时捕获输出streem

答案 3 :(得分:2)

是的可能看看

Calling C Code from Java