【问题标题】:Tool to convert Java source to C++ source [duplicate]将Java源代码转换为C++源代码的工具[重复]
【发布时间】:2017-04-20 14:39:21
【问题描述】:

在有人把我击倒之前,我知道 Java 到二进制编译器,但我不喜欢其中之一。

我也知道没有完美的工具可以毫无问题地转换所有内容。我知道缺少 Java 库是一个主要问题。但是我的源代码并没有使用许多 Java 库,除了 String 和 prints 之类的东西。我只想使用该工具创建 Java 源引用的类。在字符串的情况下,我很乐意填补空白或在稍后阶段修复。我只是想让工具做一些无聊的工作,所以我不必手动进行翻译。

对于必需的类等,我将在稍后阶段手动修复这些问题,但希望有一个指针指向至少可以完成足够无聊的事情的东西。

我希望再次翻译源代码而不是编译器来生成二进制文件。基本上我想把一些Java的东西转换成C++,以便以后在其他项目中使用。

编辑 补充说明

对不起,如果我在这个问题的前面部分不清楚。我知道 Java 与 C++ 有很大不同。我有一些 Java 代码,其中大部分填充了处理数组和位,几乎没有对象创建。从某种意义上说,它非常独立,很少调用其他类。这些课程似乎是转换的主要候选人;其他的东西必须重写,但至少有一些部分被利用了。

【问题讨论】:

  • 如果你真的想从 C++ 访问你的 java 实用程序,那么你可以使用 JNI 而不是移植它们。
  • 来自副本的可能答案:tangiblesoftwaresolutions.com/Product_Details/… - 但工具有很多警告,而且不是免费的。
  • @jesse 如果我要一个 java -> c++ 那怎么能和你的建议重复呢?
  • @michael 不太好,我希望将一些 java 类转换为 c++,以便我可以重用它们包含的逻辑。重要的部分是一些,我知道不可能转换 Everything

标签: java c++ c code-translation


【解决方案1】:

j2c 是其中之一 - 它将 Java 源代码转换为其粗略的 C++ 等效代码。

显然,其他人提到了许多警告(垃圾收集、同步等),但它会提供一个很好的起点(而且它是开源的,因此您可以轻松地改进这一点 =)。

根据您的代码库的大小,编写自己的代码库也可能是有意义的——一旦您有 Java AST 可以使用,编写一个并不是那么难,因为 Java 语法主要是 C++ 的一个子集,并且有许多库可以为您解析 Java 代码(例如,j2c 使用 Eclipse 附带的库)。手动进行转换比为其编写工具更容易出错。

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 1970-01-01
    • 2010-10-06
    • 2010-09-17
    • 1970-01-01
    • 2011-05-07
    • 2010-10-17
    • 1970-01-01
    • 2012-02-01
    相关资源
    最近更新 更多