这个问题突然出现在我的脑海里。 为了编译java,我们需要使用$JAVA_HOME/bin/javac文件并将需要编译的java文件传递给它。 我想知道是否可以在不使用 bash/shell 的情况下执行 javac 文件。 或者使用其他编程语言直接执行javac文件?
最佳答案
是的,这是可能的。
#include <unistd.h>
int main(void)
{
execl( "/path/javac","javac", "/path/to/program.java", NULL );
return 0;
}
该 C 程序将执行编译器并编译 program.java,而无需使用 shell。只需在不使用 shell 的情况下运行它,您就可以在不使用 shell 的情况下运行编译器。 它不是一个非常有用的程序,它总是编译相同的单个文件。但可以修改它以读取包含要编译的文件列表的文件。这实际上就是 IDE 所做的事情。这是在没有 shell 的情况下运行 javac 的另一种方式。
对于运行已编译的java程序,同样的原理适用。创建一个运行 java 解释器的程序。
关于java - 是否可以在不使用任何shell的情况下编译并运行java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755331/