导航:首页 > 源码编译 > 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语言编译器相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163