gpt4 book ai didi

java - 从 Java 程序编译 C 程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:03 24 4
gpt4 key购买 nike

我正在尝试从 Linux 平台上的 java 程序编译一个 c 程序。我的片段是。

          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了解更多信息。

关于java - 从 Java 程序编译 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20463523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com