2010-08-05 101 views
1

有没有将Java代码转换为C++的程序?有没有将Java代码转换为C++的程序?

+3

你为什么要这样的事情? – jalf 2010-08-05 15:57:17

+1

究竟你在找什么?你正在寻找可读的C++(你不会得到)?你在寻找更容易链接到C++项目的东西吗?我怀疑你可以在任何合理的平台上获得C++而不是Java编译器(也许是C编译器),如果你试图回避iOS开发人员协议3.1.3的限制,这根本不起作用。 – 2010-08-05 15:59:03

+0

@David:我用gcj为mingw从java代码创建静态链接的二进制文件。可以在不强制用户安装JRE的情况下部署它们。 – 2010-08-05 17:19:54

回答

0

可能有潜在的。

但是,这两种语言的风格是如此不同以至于所得到的C++代码看起来非常不像C++,因此很难维护。

真正的问题是为什么yuo试图做到这一点?

1
+0

eton - 有趣的是,这是我搜索的第一个谷歌搜索结果之一。你在测试项目中遇到了什么问题(如果有的话)。并且有没有很好玩的图书馆? – 2010-08-05 15:55:13

+0

我没有做太多的事情,因为这只是好奇而已。我提到的基本项目是针对不同数字的面积计算应用程序,至少数学库(或其所需的部分)运行良好,只需按照说明进行适当的重命名即可。 但是,正如其他用户所建议的那样,我会随时选择本地代码解决方案。我没有在我发布的应用程序上看到很多潜力,但这是我可以为原始问题提供的最佳示例。 – 2010-08-05 16:04:34

+0

是的,我总是对'转换'工具保持警惕,除非我真的明白他们做了什么。这些决定最终会影响你理解发生的全部能力 – 2010-08-05 16:12:01

4

Java是一种完全不同的语言C++。代码可能必须从头开始彻底重写。即使有Java到C++编译器:

  • 它不适用于所有Java代码。
  • 它不会编写看起来像是由C++程序员编写的代码。
  • 它可能不会使用普通的C++或STL类型,所以即使它是有效的C++,也不能很好地与任何其他代码集成。

您可以compile一些 Java代码为本地代码。也许这对你来说会是一个更好的方法。

+0

实际上,你可以做到这一点。至少,您可以使用C++编写JVM,并将Java代码编译为嵌入C++程序中的JVM。或者,您可以使用Java编译器并拥有C++后端以及C++编写的运行时。只有当你有一个C++编译器并且没有Java编译器时,这才会有用,当然,因为没有办法在地理上接近任何地方。 – 2010-08-05 15:55:45

+0

实际上,本地代码编译听起来像是一个很好的选择,特别是如果你的专业知识在于java而不是C++中的某些“工具”解释 – 2010-08-05 15:57:22

0

有它转换Java字节码到C,这是编译和运行JC虚拟机: http://jcvm.sourceforge.net/

如果你只是想在一个C++应用程序(反之亦然)使用Java库,那么你应该改为从GNU编译器集合中考虑gcj。这是一个java->本地代码编译器。 C++编译器具有特定的扩展,可以与使用gcj编译的代码进行交互操作,这意味着基本上可以使用用Java编写的模块,就好像它是用C++编写的一样。