导航:首页 > 源码编译 > java实现的c语言编译器

java实现的c语言编译器

发布时间:2023-07-18 07:39:04

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

按照我的理解,不能,我也学习过java,没听过这个功能。高级语言最终都要编译成机器语言,也就是01串,为什么会有这么多的计算机语音,就是因为各自在各自的领域比较方便。实现同一个功能,不管什么语言都是可以的,只是难易程度的问题,因为任何语言都会有顺序、选择、循环这三种结构,如果可以的话,除非有一种这样的程序,可以把java编译的程序,也就是机器码反编译为C,这个我至今也没听说过,也不知道有什么用。就我的理解来说,反编译是非常难的一件事,而且是反编译为原来的语言,比如微软Windows源代码,绝对的商业机密,应该有很多人尝试过,你能拿到Windows的光盘(算是机器码吧),但是你并不能提供Windows的源代码,如果有人能提供的话,微软就会倒闭,反编译为其他语言,估计更是难上加难。

Ⅱ 用Javac怎么单独编译一个java文件

对单个*java文件进行编译的方法是利用javac工具。
1. 编写Hellworld.java源码
新建一个Hellworld的java文件,代码如下:
package com.csdn.test;
public class Say {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("hello,world!");
}
}
2、编译Hellworld.java源码
执行javac命令编译源代码,下面得蓝色部分说明javac执行成功了,并在当前目录下生成了Say.class文件,如下:
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:/Users/Administrator>d:
D:/>cd temp
D:/temp>javac Hellworld.java

Ⅲ 怎么样在Java程序中调用c/c++编译器进行c/c++的编译

可以调用的,java有一种技术叫JNI,就是为了调用C/C++,至于例子嘛是这样的: 01. public class testdll 02. { 03. static 04. { 05. System.loadLibrary("goodluck"); 06. } 07. public native static int get(); 08. 09. public native static void set(int i); 10. public static void main(String args) 11. { 12. testdll test = new testdll(); 13. test.set(10); 14. System.out.println(test.get()); 15. } 16. 17. } 用javac testdll.java编译它,会生成testdll.class。 再用javah testdll,则会在当前目录下生成testdll.h文件,这个文件需要被C/C++程序调用来生成所需的库文件。 二、C/C++中所需要做的工作 对于已生成的.h头文件,C/C++所需要做的,就是把它的各个方法具体的实现。然后编译连接成库文件即可。再把库文件拷贝到JAVA程序的路径下面,就可以用JAVA调用C/C++所实现的功能了。 好,下面我们用testdll.cpp文件具体实现这两个函数: 01. #include "testdll.h" 02. int i = 0; 03. JNIEXPORT jint JNICALL Java_testdll_get (JNIEnv *, jclass) 04. { 05. return i; 06. } 07. JNIEXPORT void JNICALL Java_testdll_set (JNIEnv *, jclass, jint j) 08. { 09. i = j; 10. } 编译连接成库文件,本例是在WINDOWS下做的,生成的是DLL文件。并且名称要与JAVA中需要调用的一致,这里就是goodluck.dll http://ask.wangmeng.cn/question/88

阅读全文

与java实现的c语言编译器相关的资料

热点内容
程序员系列大全 浏览:359
安卓怎么用文件升级 浏览:658
如何发展mc服务器 浏览:160
安卓手机拍照是反的如何正过来 浏览:619
服务器怎么外接机械硬盘 浏览:84
如何输入代理服务器和端口 浏览:674
排序算法的实现的总结 浏览:17
重庆活塞并联压缩机哪里买 浏览:516
中信银行信用卡app叫什么名字图片 浏览:15
php指定ip访问 浏览:45
n1盒子编译openwrt 浏览:957
android不混淆库 浏览:622
酷程序员头像 浏览:808
短视频平台服务器怎么选 浏览:74
怎么分辨瑞年和平年的C语言编译 浏览:217
黑马程序员vue教程第32讲 浏览:761
为什么服务器拷贝速度百兆 浏览:651
月薪过万的程序员多久能在北上广 浏览:982
妈妈看中程序员相亲 浏览:381
服务器配置不了ip地址怎么办 浏览:878