从Java程序编译C程序

开发者

我正在尝试从Linux平台上的Java程序编译ac程序。我的片段是。

          ProcessBuilder processBuilder = new ProcessBuilder("/usr/bin/gcc",
          "-c","/hipad/UserProject/example.c");

          Process proc = processBuilder.start();

在编译Java程序期间没有错误,但是我无法获取.o文件。我试图找出解决方案,但没有人在工作。任何建议.....

海德

子进程的默认工作目录是Java进程作为工作目录所拥有的目录,通常是从其启动的目录。默认情况下,gcc将输出文件写入当前工作目录。那是您应该找到的地方example.o

有两种简单的方法可以解决此问题。您可以给gcc -o选项以及所需输出文件的完整路径和名称,也可以设置子进程的工作目录,如下所示:

ProcessBuilder processBuilder =
    new ProcessBuilder("/usr/bin/gcc", "-c","example.c"); // source in working dir
processBuilder.directory(new File ("/hipad/UserProject")); // or whatever
Process proc = processBuilder.start();

有关更多信息,请参见ProcessBuilder javadoc

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章