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