当前位置:  开发笔记 > 编程语言 > 正文

是否存在Java到C++转换器/工具?

如何解决《是否存在Java到C++转换器/工具?》经验,为你挑选了4个好方法。

我总是问自己是否可以制作Java到C++的转换器.

也许是一种将Java语法转换为C++语法的工具?

我知道语言不同,但简单的事情,如语义匹配1到1的循环.

有这样的工具吗?或者可以制作一个?



1> cletus..:

只要有足够的时间,金钱和资源,就可以做任何事情.这是实用的吗?除了琐碎的例子之外并不是真的.或者更确切地说,它取决于什么构成可接受的错误率.

真正的问题是成语在Java和C++中是不同的.例如,Java到C#实际上要容易得多(因为习语更相似).当然最大的是C++具有析构函数和手动管理的内存.Java使用finally块来实现这种行为并且具有垃圾收集功能.

Java也有一个共同的Object超类型.C++没有.

模板的泛型几乎不可能是我想象的.


Common Object不是问题.转换器只提供一个,然后任何没有基类的类只添加继承.Java中的泛型只是语法糖,而C++模板可以解决这个问题.但是走另一条路是不可能的.
不,我真的不喜欢这样的答案,比如"它不实用"等等.我总是如此理解它们:"我们真的很好,但我们太愚蠢而不值得".
关于GC,转换器只能使用堆分配的对象,并且只使用类似`boost :: smart_ptr`的引用它们.这至少在合理的程度上处理泛型,你只需要发出类似的东西:`std :: vector >>`用于"事物"的向量.

2> Thomas Muell..:

的火狐HTML5解析器是用Java编写并转换为C++.但我认为那里使用的转换器对于这个项目非常具体.有趣的是,事实证明,生成的C++解析器比用C++编写的旧解析器更快.

我还在src/tools/org/h2/java下编写了一个转换器作为H2数据库的一部分.我们的想法是允许将H2数据库的子集转换为C++,因此这也不是通用的转换器.

还有开源项目J2C.

因此有一些方法可以将Java转换为C++.但是不要指望翻译器支持所有功能,并且不要指望生成的代码比优秀的Java JVM快.



3> Johannes Wei..:

是可能的,毫无疑问,但它不会那么简单.它将是一个生成C++的Java编译器.

如果你想从头开始这样做,那将非常困难,你必须完成javac和JVM为你做的所有工作(例如垃圾收集).

顺便说一句.Google有一个Java to JavaScript编译器(包含在GWT中)



4> 小智..:

有一点,我不确定它是否确实有效. Java to C++ Converter-Someible Software Soulutions.

奇怪的是如何有c ++到java转换器,但只有1个java到c ++转换器.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有