前言:想要寫出一篇引人入勝的文章?我們特意為您整理了Web在線編譯環(huán)境設(shè)計(jì)分析范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
1系統(tǒng)設(shè)計(jì)
實(shí)現(xiàn)用戶與遠(yuǎn)程軟件工具的交互主要是使用重定向技術(shù)實(shí)現(xiàn)。操作系統(tǒng)Shell環(huán)境中支持輸入輸出重定向,用符號(hào)"<"和">"來(lái)表示。0、1和2分別表示標(biāo)準(zhǔn)輸入STDIN、標(biāo)準(zhǔn)輸出STDOUT和標(biāo)準(zhǔn)錯(cuò)誤STDERR信息輸出,可以用來(lái)指定需要重定向的標(biāo)準(zhǔn)輸入或輸出,比如2>error.txt表示將錯(cuò)誤信息輸出到文件error.txt中。又比如用ls命令時(shí),本來(lái)是查看目錄內(nèi)容,而用了重定向">"后可以直接把屏幕輸出寫入一個(gè)文件中,再到文件里去看結(jié)果。輸入也是一樣,可以把輸入重定向到一個(gè)文件里,重定向操作符可以用來(lái)將命令輸入和輸出數(shù)據(jù)流從默認(rèn)位置重定向到其他位置,其輸入或輸出數(shù)據(jù)流的位置稱為句柄;常見(jiàn)的句柄有三種,即:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤。
2系統(tǒng)實(shí)現(xiàn)
2.1用戶界面實(shí)現(xiàn)
用戶界面主要包括頁(yè)面功能導(dǎo)航區(qū)域、編輯與提交區(qū)域和處理結(jié)果顯示區(qū)域。在三個(gè)區(qū)域所在的web頁(yè)中,使用頁(yè)內(nèi)框架<ahref=”javaPro.html”target=”EditFrame”>…</a>鏈接Java程序的編輯頁(yè)面javaPro.html和顯示位置EditFrame。<formaction="Process.ch"target="ResultFr"><textAreaname="JAVACODE"></textArea><inputtype="submit"value="submit"></form>在上面HTML代碼片段中,<textArea>標(biāo)注編輯代碼的文本區(qū)域,<form>標(biāo)簽的action屬性值Process.ch為處理提交代碼的服務(wù)器端程序,target屬性值表明處理結(jié)果顯示在name屬性值為ResultFrame的框架。
2.2中間件實(shí)現(xiàn)
網(wǎng)絡(luò)中間組件Process.ch是一個(gè)使用C語(yǔ)言編classCRequestreq;//Ch-CGI包提供char*value=NULL;value=Req.getForm("JAVACODE");//讀取FILE*fp;if(fp=fopen("Main.java","w"))fprintf(fp,"%s\n",value);//代碼寫入文件fclose(fp);system("javacMain.java2>javaCResult.txt1>&2");system("javaMain<in.txt1>javaRResult.txt2>&1");以上代碼中最后兩行分別表示編譯Java程序并將編譯輸出重定向到j(luò)avaCResult.txt文件和解釋運(yùn)行Java程序,其中文件in.txt中為運(yùn)行時(shí)所需要的輸入數(shù)據(jù),輸出結(jié)果重定向到文件javaRResult.txt。
3實(shí)驗(yàn)
3.1Java程序測(cè)試
如圖4所示,我們將源程序編輯區(qū)域,程序運(yùn)行時(shí)的數(shù)據(jù)輸入和運(yùn)行結(jié)果顯示區(qū)域都集成在一個(gè)Web頁(yè)面中,這種透明設(shè)計(jì)類似桌面系統(tǒng)的集成開發(fā)環(huán)境。選擇Java程序后,完成程序編輯并輸入數(shù)據(jù)后提交,在網(wǎng)頁(yè)的底部區(qū)域顯示三個(gè)超鏈接,分別是鏈接源代碼文件、編譯結(jié)果文件、運(yùn)行結(jié)果文件。在輸出區(qū)域顯示運(yùn)行結(jié)果;若程序有誤,例如將輸出語(yǔ)句中的分號(hào)去掉,則通過(guò)“Compiling…”超鏈接查看編譯錯(cuò)誤提示,編譯通過(guò)則超鏈接看到的為空。
3.2實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)服務(wù)器端系統(tǒng)為WindowsServer2008,使用IIS(InternetInformationServer)提供Web服務(wù)器功能,同時(shí)安裝Ch專業(yè)版作為Ch腳本運(yùn)行環(huán)境。網(wǎng)絡(luò)中間組件是使用C語(yǔ)言編寫的Ch腳本,它在C/C++的解釋計(jì)算環(huán)境Ch中執(zhí)行。Ch-CGI工具包與Web服務(wù)器的無(wú)縫集成,實(shí)現(xiàn)了客戶端與服務(wù)器的交互。安裝JDK1.7提供Java程序的編譯器與解釋器等工具。
4結(jié)束語(yǔ)
Web系統(tǒng)擴(kuò)展了計(jì)算的環(huán)境,方便了大眾?;赪eb的在線式編譯環(huán)境是對(duì)傳統(tǒng)集成開發(fā)環(huán)境的有利擴(kuò)展,它在改變軟件使用模式的同時(shí),也改變了軟件的設(shè)計(jì)模式,軟件由一種商品轉(zhuǎn)變?yōu)橐环N服務(wù)。在線式、共享性、方便性、成本低等眾多優(yōu)點(diǎn)是基于Web的系統(tǒng)的優(yōu)點(diǎn)。該系統(tǒng)可以為編程學(xué)習(xí)者提供一個(gè)簡(jiǎn)單方便的編程開發(fā)環(huán)境,實(shí)現(xiàn)即上網(wǎng)即使用的共享使用,通過(guò)題目設(shè)計(jì)的擴(kuò)展,可進(jìn)一步設(shè)計(jì)為一個(gè)在線式判定系統(tǒng)。
作者:梅剛 林齡 潘峰 單位:貴州民族大學(xué)預(yù)科教育學(xué)院 貴州民族大學(xué)理學(xué)院 貴州民族大學(xué)信息