【问题标题】:compile a c++ program(runtime) using a java program使用 java 程序编译 c++ 程序(运行时)
【发布时间】:2015-11-13 12:06:04
【问题描述】:

我想创建一个 java 程序,它将编译和执行用 c++ 编写的程序。我只是想知道链接或知道我将如何做到这一点,我想自学,但不确定我应该从哪里开始。我有一个执行“.exe”文件的链接,这是我的程序的一部分,但是我如何通过 Java 编译 C++ 程序。

我试图搜索相关的东西,但无法找到...感谢您的建议...

【问题讨论】:

  • 想必你不想自己构建编译器,而是调用现有的?
  • 那么......你想用Java编写一个C++编译器吗?祝你好运!也许从 clang 的文档开始。
  • ... 或者您可以从您的 java 程序中调用一个 C++ 编译器。好的,我明白了。
  • #YSC 想要调用 C++ 编译器。 #Bathsheba,调用现有的...

标签: java c++ compilation


【解决方案1】:

我认为您想通过 Java 运行 .exe 文件。

您应该尝试Runtime.getRuntime().exec(String command, String[] envparam, File dir)

  • command 是.exe 的位置
  • envparam 可以为空
  • dir 是你的 .exe 的目录

例子:

Runtime.getRuntime().exec("c:\\program files\\test\\test.exe", null, new File("c:\\program files\\test\\"));

【讨论】:

  • 在运行.exe文件之前,我不会编译代码,用java程序,用C++编写,生成.exe文件。
  • 所以你应该在运行 .exe 之前调用命令来构建。示例 g++ main.cpp -o main
【解决方案2】:

Here's 应该如何使用Runtime.exec() 来执行 C++ 编译器。你也可以试试它更现代的表亲ProcessBuilder

Java Runtime.getRuntime().exec() alternatives

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多