java代码生成器能生成c语言代码吗?用啥方法能实现呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java代码生成器能生成c语言代码吗?用啥方法能实现呢?相关的知识,希望对你有一定的参考价值。

按照我的理解,可以的,代码生成器是跨平台,而且是跨语言的(至少是跨文本语言的,UML暂时不好说,)。
代码生成器作为一种开发工具,一般不直接作为程序的一部分,通常也不直接或间接(如通过AOP)被程序调用,他是通过编程的方式生成所需要的代码,然后将生成的代码作为源文件,复制到开发工具的代码区,然后进行编译。由于代码生成器是在编译之前运行的,因此它可以跨语言,你不但可以用代码生成器生成高级语言,也可以生成汇编语言,甚至机器码(0、1代码)。
但编写代码生成器是一个难点,它需要你了解目标编程语言的语法。如果别人已经把你需要的代码生成器写好了,你只需按要求使用即可,此时就不需要了解目标编程语言的语法。
JNI是通过Java调用C语言(或其他语言,一般是C),它的实现机制与代码生成器不同(JNI是通过代码调用实现功能,而代码生成器是生成代码,复制代码进行使用),由于C是底层语言,一些底层操作单靠Java无法实现,所以才需要JNI。
以上是我对代码生成器的个人理解,虽然提问时间已过了很久,但依然希望能对你及其他网友有所帮助。
参考技术A 按照我的理解,不能,我也学习过java,没听过这个功能。高级语言最终都要编译成机器语言,也就是01串,为什么会有这么多的计算机语音,就是因为各自在各自的领域比较方便。实现同一个功能,不管什么语言都是可以的,只是难易程度的问题,因为任何语言都会有顺序、选择、循环这三种结构,如果可以的话,除非有一种这样的程序,可以把java编译的程序,也就是机器码反编译为C,这个我至今也没听说过,也不知道有什么用。就我的理解来说,反编译是非常难的一件事,而且是反编译为原来的语言,比如微软Windows源代码,绝对的商业机密,应该有很多人尝试过,你能拿到Windows的光盘(算是机器码吧),但是你并不能提供Windows的源代码,如果有人能提供的话,微软就会倒闭,反编译为其他语言,估计更是难上加难。追问

我也觉得很困难的,那我如果在java中生成XML文档,通过解析是不可能生成c代码了吧

追答

我不敢100%的保证,因为反编译现在有一小股力量冲劲还是很大的,你说的这个,难度应该很大,但并不保证没有机会。

追问

那JNI有什么用呢?

本回答被提问者和网友采纳
参考技术B 不能的,JAVA 与 C差不多!你发上来看看有人帮你搞的! 参考技术C 代码生成器就是根据特定的要求制定格式,灵活输出在项目中重复要用到的代码,节省项目时间,现在免费的代码生成器codesmith我经常用的,小玩意,不花钱

java 生成word用啥方法好 poi 还是iText生成rtf

poi 怎么样,不过都说不好控制! 还有使用iText生成rtf,还有什么别的好的方法吗!求教高手,最好有源码,谢谢了!不想用js脚本!
我生成的word里面要有图片和表格,到底哪个好控制些,哪个效果比较好,最后考虑的是效率问题,我希望是纯的java生成,不依赖任何组件!

参考技术A 可以用jacob 这个是用java调用dll里的方法来操作word dll里的方法类似VBA
还可以用openoffice的api另存为word
iText没用过 poi操作excel很方便 纯文本的word还可以 有图片 有表格的话就不行了
ps:java生成有表格的word好像都不是很好
参考技术B 先做一个word模板,然后另存为html格式。最后把html格式的源代码拷贝到jsp中,在头文件中加上<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">访问时候就能自动生成word了!! 参考技术C 这个问题纠结呢 poi对word的操作很有限 还是用itext生成rtf文件吧 虽然这个生成出来word文件会很很大但是可以实现功能本回答被提问者采纳

以上是关于java代码生成器能生成c语言代码吗?用啥方法能实现呢?的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言一般用啥编译器编辑?

java 生成word用啥方法好 poi 还是iText生成rtf

谁能给我讲讲游戏脚本的事,用啥语言编写?是否需要你所玩游戏的代码?

Java 中解析 XML 生成 Bean 实例,用啥方式效率最高?

UML -- 用啥UML软件(免费的),可以通过代码生成时序图???

IE浏览器生成插件一般通过何种软件制作,用啥语言?能说明一下插件生成的详细步骤么?