我无法从ubuntu中的java程序运行c可执行文件。
我使用以下命令创建了可执行文件:
gcc ex.c -o process
在java程序中,我尝试了所有可以找到但没有结果的内容。
Runtime.getRuntime().exec("/home/cori/Desktop/process.exe);
另一种方法
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("process");
请建议。
答案 0 :(得分:0)
* nix like系统不对可执行文件使用* .exe后缀。
调用Runtime.getRuntime()。EXEC( “/家/ CORI /桌面/处理”)
应该可以正常工作。但我仍然没有得到你想得到的结果。您可以从Process
类中获得的唯一内容是几个流及其返回状态。对于c
程序,该程序应为0.(如果您返回0结束源代码的结尾)。
并且:你提到的两种方法是相同的。只是第一次使用调用方法链接:)
答案 1 :(得分:0)
我假设你有权访问C代码,因为我看到你试图编译它。
您是否考虑过使用Java Native Inteface? Java允许您调用非Java代码,通常称为本机代码。
您必须按照一系列步骤才能使其正常运行。 在这里查看示例 http://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html
这是一个漫长的过程,需要一些反复试验才能做到正确。但是一旦你搞清楚它就是一个非常强大的工具。这是Java的一个非常古老的特性,因此在线有很多资源。