嵌入式語言概況
嵌入式系統(tǒng)應(yīng)用越來越廣泛,目前,在嵌入式系統(tǒng)開發(fā)過程中使用的語言種類有很多,但僅有少數(shù)的幾種語言得到了比較廣泛的應(yīng)用,主要有Ada、C/C++等。
Ada語言
Ada語言是20世紀70年代美國國防部開發(fā)并投入使用的功能強大的通用系統(tǒng)開發(fā)語言,最初為Ada83。它支持模塊化、獨立編譯、協(xié)處理等功能,其可靠性、可維護性、可讀性都是相當好的。后來,為了更好地支持OOP(Object-Oriented Programming),對其進行了改進,形成了目前廣泛使用的Ada95。使用Ada語言可以大大改善系統(tǒng)的清晰性、可靠性、可維護性等性能指標。它是美國國防部指定的唯一一種可用于軍用系統(tǒng)開發(fā)的語言。
嵌入式C語言就是針對嵌入式開發(fā)的C語言,其與標準c語言并非有什么大的差別,而在于其使用上我們考慮的角度不同,使用上的習(xí)慣不同。如嵌入式c語言開發(fā)會更在乎效率和內(nèi)存有效使用等。
而涉及的嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)和各行各業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,這就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)
C語言既具有匯編語言的效率,又具有高級語言的易編程性,最具代表性的應(yīng)用就是UNIX操作系統(tǒng),從20世紀80年代中期C語言涉足實時系統(tǒng)之后,就受到了普遍的歡迎,是目前使用最廣泛的嵌入式系統(tǒng)編程語言。
C++
C++在支持現(xiàn)代軟件工程、oop、結(jié)構(gòu)化等方面對C進行了卓有成效的改進,但是在程序代碼容量、執(zhí)行速度和程序復(fù)雜程度等方面比C語言程序性能差一些。
ASP
微軟的Active Server Pages(ASP)是服務(wù)器端腳本編寫環(huán)境,通過ASP我們可以結(jié)合HTML網(wǎng)頁、其他腳本命令指令和ActiveX元件建立動態(tài)、交互且高效的WEB服務(wù)器應(yīng)用程序。有了ASP你就不必擔心客戶的瀏覽器是否能運行你所編寫的代碼,因為所有的程序都將在服務(wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當程序執(zhí)行完后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶,這樣也就減輕了客戶端瀏覽器的負擔,大大提高了交互的速度。
與一般的程序不同,ASP程序無須編譯,ASP程序的控制部份是使用VBSeript、Java、Script等腳本語言來設(shè)計的,當執(zhí)行ASP程序時,腳本程序?qū)⒁徽酌畎l(fā)送給腳本解釋器(即腳本引擎),由腳本解釋器進行翻譯并將其轉(zhuǎn)換成服務(wù)器所能執(zhí)行的命令。當然,同其他編程語言一樣,ASP程序的編寫也遵循一定的規(guī)則,如果想使用你所喜愛的腳本語言編寫ASP程序,那么你的服務(wù)器上必須要有能解釋這種腳本語言的腳本解釋器。當安裝ASP時,系統(tǒng)提供了兩種腳本語言:VBsrcipt和Javaseript,而VBscript則被作為系統(tǒng)默認的腳本語言。也可以根據(jù)自己的喜好改變系統(tǒng)默認的腳本語言。ASP本身并不是一種腳本語言,它只是提供一種使嵌在HTML頁面中的腳本程序得以運行的環(huán)境。ASP程序是以擴展名為.a(chǎn)sp的純文本形式存在于WEB服務(wù)器上的,可以用任何文本編輯器打開它,ASP程序中可以包含純文本、HTML標記以及腳本命令。只需將.a(chǎn)sp程序放在WEB服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),就可以通過WWW的方式訪問ASP程序了。腳本是由一系列的腳本命令所組成的,如同一般的程序,腳本可以將一個值賦給一個變量,可以命令WEB服務(wù)器發(fā)送一個值到客戶瀏覽器,還可以將一系列命令定義成一個過程。
腳本語言是一種介乎于HTML和諸如Java、Visual Basic、C++等編程語言之間的一種特殊語言,盡管它更接近后者,但它卻不具有編程語言復(fù)雜、嚴謹?shù)恼Z法和規(guī)則。,如前所述ASP所提供的腳本運行環(huán)境可支持多種腳本語言,譬如:JavaScript、VBscript等,這無疑給ASP程序設(shè)計者提供了廣泛的發(fā)揮余地,在.a(chǎn)sp程序中(%…%)符號是定界符,而“(script)...(/script)”之間的是腳本語言。ASP不同于腳本語言,它有自己特定的語法,所有的ASP命令都必須包含在(%和%)之內(nèi)。ASP的出現(xiàn)使得廣大WEB程序設(shè)計者不必為客戶瀏覽器是否支持而擔心,實際上就算在同一個.a(chǎn)sp文件中使用不同的腳本語言,都無須為此擔憂,因為所有的一切都將在服務(wù)器端進行,客戶瀏覽器得到的只是一個程序執(zhí)行的結(jié)果,也只需在.a(chǎn)sp中聲明使用不同的腳本語言即可。就是說Active Server Pages的工作模型是當瀏覽器從Web服務(wù)器上請求.a(chǎn)sp文件時,ASP腳本才開始運行。然后Web服務(wù)器調(diào)用ASP,ASP全面讀取請求的文件,執(zhí)行所有腳本命令,并將web頁傳送給瀏覽器。由于腳本在服務(wù)器上而不是在客戶端運行,傳送到瀏覽器上的Web頁是在Web服務(wù)器上生成的。所以不必擔心瀏覽器能否處理腳本,Web服務(wù)器已經(jīng)完成了所有腳本的處理,并將標準的HTML傳輸?shù)綖g覽器。由于只有腳本的結(jié)果返回到瀏覽器,所以服務(wù)器端腳本不易復(fù)制,保密性好。
JSP
JSP(Java Server Pages)是由Sun公司倡導(dǎo)、許多公司參與建立的一種動態(tài)網(wǎng)頁技術(shù)標準,其在動態(tài)網(wǎng)頁的建設(shè)中有其強大而特別的功能。JSP是一種很容易學(xué)習(xí)和使用的在服務(wù)器端編譯執(zhí)行的Web設(shè)計語言,其腳本語言采用Java,完全繼承了Java的所有優(yōu)點。JSP為創(chuàng)建高度動態(tài)的Web應(yīng)用提供了一個獨特的開發(fā)環(huán)境。
在傳統(tǒng)網(wǎng)頁HTML文件中加入Java程序片段和JSP標記,就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HT。ML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,這些都是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plug in,無ActiveX,無Java Applet,甚至無Frame。JSP能使你將網(wǎng)頁的動態(tài)部分與靜態(tài)部分有效分開,你只要用你熟悉的任一網(wǎng)頁制作工具,編寫規(guī)則的HTML,然后通過專門的TAG將動態(tài)部分包含進來就可以了。除了HTML標準語法,JSP可以有三種主要方式嵌入頁面:腳本元素、指令語法、動作語法。腳本元素規(guī)范將成為Servlet請求部分的Java代碼,指令語法控制SERVLET的整個結(jié)構(gòu),而動作語法規(guī)范要用到的元件(如:Bean),另外還能控制JSP引擎的行為。
JSP與微軟的ASP技術(shù)非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。在ASP或JSP環(huán)境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴于Web服務(wù)器,而ASP和JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標識來設(shè)計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標識和JavaBean組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運行。如果核心邏輯被封裝在標識和Bean中,那么其他人,如Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內(nèi)容,并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。
PHP
PHP(Personal Home Page)也是一種服務(wù)器端HTML嵌入式腳本描述語言,在語法結(jié)構(gòu)上很像是Perl、Java、C等語言的混合體。PHP嵌入到HTML文件中的標記對為:(script language=“PHP”)…(/script)。
PHP是一種服務(wù)器內(nèi)置式的腳本語言,它與客戶端腳本語言VBScript、JavaScript有很大的區(qū)別。PHP腳本工作之前,必須先把它的解釋程序安裝到服務(wù)器上,PHP解釋程序的下載網(wǎng)址為:http://www.php.net。
PHP可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。在開發(fā)及維護的時間上,在與網(wǎng)頁結(jié)合的能力上,PHP與ASP表現(xiàn)都不錯,而在系統(tǒng)的穩(wěn)定性上,PHP比ASP更加成熟。
PHP最強大和最重要的特征是它的數(shù)據(jù)庫集成層,使用它完成一個含有數(shù)據(jù)庫功能的網(wǎng)頁非常簡單??傊?,PHP具有快速學(xué)習(xí)、跨平臺、有良好數(shù)據(jù)庫交互能力、語法簡單、書寫容易、安全性能好等優(yōu)點。
評論