我正在编写一个文本/代码编辑程序供我自己在 Java/Swing 中使用,并且想知道如何在其中设置一个内置的 C 编译器。我可能会使用 GCC 或 TCC 作为编译器。无论如何,我的问题是 - 我将如何实际实现编译器?我会使用让 Java 访问命令行命令的库吗?是否有这样的库,如果有,哪个是最好/最容易使用的?
谢谢。
我正在编写一个文本/代码编辑程序供我自己在 Java/Swing 中使用,并且想知道如何在其中设置一个内置的 C 编译器。我可能会使用 GCC 或 TCC 作为编译器。无论如何,我的问题是 - 我将如何实际实现编译器?我会使用让 Java 访问命令行命令的库吗?是否有这样的库,如果有,哪个是最好/最容易使用的?
谢谢。
访问命令行是最简单的方法。尝试这样的事情:
Process myProc = Runtime.getRuntime().exec(command);
其中 command 是您要传递给命令行的一些字符串。
之后,您可以将该进程的输出/输入重定向到某些 java 缓冲区以进行完全控制。
myProc.getInputStream();
myProc.getOutputStream();
通常 IDE/Editor 不实现编译器。他们只会执行命令并将文件名作为参数传递(以及其他必要的文件)。他们还将输出通过管道/流式传输到编辑器中的单独窗口/窗格。所以你需要以某种方式集成编译器而不是实现一个。Runtime
您可以使用类在java中执行命令。从这里开始。