有没有将Java代码转换为C++的程序?
可能有潜在的。
但是,这两种语言的风格是如此不同以至于所得到的C++代码看起来非常不像C++,因此很难维护。
真正的问题是为什么yuo试图做到这一点?
我用这个工具与基础建设:
http://www.euclideanspace.com/software/language/xes/userGuide/convert/javaToCpp/index.htm
eton - 有趣的是,这是我搜索的第一个谷歌搜索结果之一。你在测试项目中遇到了什么问题(如果有的话)。并且有没有很好玩的图书馆? – 2010-08-05 15:55:13
我没有做太多的事情,因为这只是好奇而已。我提到的基本项目是针对不同数字的面积计算应用程序,至少数学库(或其所需的部分)运行良好,只需按照说明进行适当的重命名即可。 但是,正如其他用户所建议的那样,我会随时选择本地代码解决方案。我没有在我发布的应用程序上看到很多潜力,但这是我可以为原始问题提供的最佳示例。 – 2010-08-05 16:04:34
是的,我总是对'转换'工具保持警惕,除非我真的明白他们做了什么。这些决定最终会影响你理解发生的全部能力 – 2010-08-05 16:12:01
erotsppa - 我不知道有任何直到浏览这个问题。几年前我们已经研究了一些java to c#工具,并取得了不同的成功。
无论如何,谷歌搜索(我敢肯定,你已经做了)打开了一些有趣的结果:
http://www.euclideanspace.com/software/language/xes/userGuide/convert/javaToCpp/index.htm http://www.scicontrols.com/R2J.htm
吉姆
Java是一种完全不同的语言C++。代码可能必须从头开始彻底重写。即使有Java到C++编译器:
- 它不适用于所有Java代码。
- 它不会编写看起来像是由C++程序员编写的代码。
- 它可能不会使用普通的C++或STL类型,所以即使它是有效的C++,也不能很好地与任何其他代码集成。
您可以compile一些 Java代码为本地代码。也许这对你来说会是一个更好的方法。
实际上,你可以做到这一点。至少,您可以使用C++编写JVM,并将Java代码编译为嵌入C++程序中的JVM。或者,您可以使用Java编译器并拥有C++后端以及C++编写的运行时。只有当你有一个C++编译器并且没有Java编译器时,这才会有用,当然,因为没有办法在地理上接近任何地方。 – 2010-08-05 15:55:45
实际上,本地代码编译听起来像是一个很好的选择,特别是如果你的专业知识在于java而不是C++中的某些“工具”解释 – 2010-08-05 15:57:22
有它转换Java字节码到C,这是编译和运行JC虚拟机: http://jcvm.sourceforge.net/
如果你只是想在一个C++应用程序(反之亦然)使用Java库,那么你应该改为从GNU编译器集合中考虑gcj。这是一个java->本地代码编译器。 C++编译器具有特定的扩展,可以与使用gcj编译的代码进行交互操作,这意味着基本上可以使用用Java编写的模块,就好像它是用C++编写的一样。
你为什么要这样的事情? – jalf 2010-08-05 15:57:17
究竟你在找什么?你正在寻找可读的C++(你不会得到)?你在寻找更容易链接到C++项目的东西吗?我怀疑你可以在任何合理的平台上获得C++而不是Java编译器(也许是C编译器),如果你试图回避iOS开发人员协议3.1.3的限制,这根本不起作用。 – 2010-08-05 15:59:03
@David:我用gcj为mingw从java代码创建静态链接的二进制文件。可以在不强制用户安装JRE的情况下部署它们。 – 2010-08-05 17:19:54