導航:首頁 > 源碼編譯 > 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