有一個軟件叫“exe4j”,雖然不能把java程序轉(zhuǎn)成C代碼但是可以轉(zhuǎn)成.exe文件,在沒裝JDK的電腦上也能運行,你要想把java的代碼轉(zhuǎn)成C代碼估計不太現(xiàn)實。C都沒類這個概念
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比金東網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式金東網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋金東地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
#include "stdio.h"
static int num =1;
static int name =2;
static int type =3;
static int m;
static void Sel();
static void Sel1();
static void Dis();
static void Dis1();
static void Sel()
{
/*這里讀者號,姓名和讀者類型默認為1 2 3*/
scanf("%d", num);
scanf("%d", name);
scanf("%d", type);
if (num == 1)
{
if (name == 2)
{
if (type == 3)
{
Dis1();
Sel1();
}
}
}
else
{
printf("你輸入的信息有誤。");
printf("請輸入讀者號,姓名和讀者類型,中間用空格隔開:\n");
}
}
/*輸入信息提示界面*/
static void Dis()
{
Sel();
}
/*功能選擇界面*/
static void Dis1()
{
printf("+++ 服務(wù) +++\n");
printf("+++1.掛失 +++\n");
printf("+++2.功能2+++\n");
}
/*讀者信息輸入和驗證功能*/
/*掛失功能*/
static void Sel1()
{
int c;
scanf("%d", m);
if (m == 1)
{
printf("確定要掛失嗎?\r\n 1.確定 2.取消\n");
scanf("%d", c);
if (c == 1)
{
printf("掛失成功!");
}
else
{
Dis1();
Sel1();
}
}
}
int main(void)
{
printf("請輸入讀者號,姓名和讀者類型,中間用空格隔開:\n");
Sel();
return 0;
}
這只是按照你原來算法改的,沒有做其他修改,功能什么的都沒有變過。
使用詞法分析可以簡單的進行轉(zhuǎn)換,不過問題是接口,java使用的庫類和函數(shù),c并不一定擁有,而且java運行的方式不同(java可以說是解釋器的腳本,而c最終變成指令集),并不是簡單給出一個函數(shù)調(diào)用位置就可以解決的,目前的話可以實現(xiàn)個轉(zhuǎn)化器(如果你學(xué)過編譯原理),但前提是不使用接口,或許我們可以像編譯器對string類型的支持那樣實現(xiàn)所有java的庫操作,但這顯然是雞肋,因為這種方法寫的java程序轉(zhuǎn)換后是很難移植的(顯然我是說硬件廠商不會為你天真的想法提供接口),并且對c風(fēng)格來說是一種極大的破壞,最后生成的代碼既沒有效率也沒有可移植性和可讀性
結(jié)論是你還不如自己實現(xiàn)一個,即使你要轉(zhuǎn)化一個大游戲,這樣也有效多了
看實現(xiàn)的什么功能。
簡單的, 把java的庫函數(shù)改成對應(yīng)C庫函數(shù)。
函數(shù)聲明形式改一下。
基本上都差不多了。
復(fù)雜的 尤其用到自定義類的, 改起來很累的,不如重新寫一個了。
名稱欄目:java代碼c化 java c
分享鏈接:http://m.rwnh.cn/article32/ddoedsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、品牌網(wǎng)站設(shè)計、網(wǎng)站營銷、軟件開發(fā)、網(wǎng)站制作、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)