【问题标题】:Converting Borland C++ code to Java code将 Borland C++ 代码转换为 Java 代码
【发布时间】:2014-09-16 05:49:56
【问题描述】:

我有一些 30 年前的代码,用 C++ 编写(有人告诉我这是用 C++ 编写的,我没有证据),我想转换为 Java。

这可以自动完成吗?

我遇到过这个:- http://www.webdeveloper.com/forum/showthread.php?5071-C-to-Java-Converters

这似乎表明它可以做到。继续搜索 C2J++,给出了这个示例代码:- http://jcs.mobile-utopia.com/jcs/6309_C2J++.java

这段代码似乎很短(在我有限的意见中),无法将 C++ 实际转换为 Java。

【问题讨论】:

  • 为什么不学习 Java 并根据您要转换的语言的知识进行“转换”?
  • 30 年前的 C++ 代码可能非常 C-ish。 C/C++ 中有许多 Java 中不存在的特性。在用 Java 编写算法时,您可能需要重新考虑算法,尤其是在参数中具有返回值的函数。 Java中不存在指针、默认参数、运算符重载和多重继承等特性。

标签: java c++ converter


【解决方案1】:

我认为你能做的最好的就是手动完成。原因?您将了解代码的作用。

如果您使用任何工具,您可以确定在您的情况下会出现错误。事后寻找错误将是一项艰巨的工作。

【讨论】:

  • 我认为为我准备好 C++ 的功能,并在 Java 中手动开发将是我时间的最佳利用。
【解决方案2】:

很难说“是的,它会起作用”,因为变量太多了。

您拥有的代码量很重要。如果您有几个文件,请手动执行。如果你有数千个文件,那么就瞄准一个转换器。但是,不要指望转换器完成所有工作。他们总是会做一个基本的转变。你应该改进它。

使用很重要。 C 代码在做什么?它是关键任务吗?是低级吗?代码中有汇编指令吗?

“这段代码似乎很短”。是功能还是代码行?如果代码实际上很短,那么重写它可能会更容易。

为什么选择 Java 或 C++,为什么需要转换它?如果您了解 Java 或 C++,那么理解 C 会更简单,这让我认为您不了解 Java 或 C++。如果是这种情况,那么您将以六个换六个。也许你的时间会更好地投入学习 C?

【讨论】:

  • C++ 代码是我的公司作为产品使用和销售的东西,但由于一些我尚未向我解释过的随机原因,它无法在比 Windows 2000 更新的任何设备上运行。我考虑 Java 的原因是我正在学习它,而转换将是一个有趣的学习练习。我猜想转换器不会像现在那样“功能完整”,但希望它足以让我在转换后修复错误。
  • @StevenDavison,在这种情况下,将旧代码转换为 Java 是有意义的。如果我正在学习 Java,我会自己做,因为这样我就能理解代码并能够支持它。
猜你喜欢
  • 2013-07-12
  • 2016-04-14
  • 2014-05-27
  • 2015-09-27
  • 2015-02-10
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多