導航:首頁 > 源碼編譯 > ada語言編譯

ada語言編譯

發布時間:2022-01-15 02:56:16

⑴ Ada,C++,C語言的優劣

看你做什麼應用了
如果是底層應用的話,最好採用C,大型應用可以採用C++,C和C++都提供指針,非常高效
其中C面向過程
C++面向對象(編程主流思想)
Ada沒怎麼用過,不敢亂說,網路上有詳細的介紹,可以參考一下

⑵ Ada語言的特點

專業人員往往要讀很多程序,因此要避免像 APL 那種以過於簡單的符號編程的語言,雖然它們的編程速度快,但基本上是不可讀的。因此目前有種說法是:讀一個程序比寫類似的程序還要費時,這也是有一定道理的;特別是 C/C++ 的風格比較鬆散,很多語法都在濫用,使程序可讀性相當低,由於 Ada 的語法接近人的語言,即使是初學者,也不會感到很難讀懂。
強類型---保證了每個對象有明確定義的值域,並防止了不同概念的邏輯混淆。許多錯誤可以被編譯器發現,而對於其它語言來說,則可能導致一個不正確的程序。 將數據描述的細節同基於該類型數據的操作相分離,以提高可移植性和可靠性。
多任務---使程序變成一系類的並發活動,而不是單一的順序活動;這在很多領域,特別是對於伺服器程序來說有重要意義,這比調用操作系統提供的功能更有易可移植性和可靠性。 很多情況下,程序的某邏輯部份與運行時值的類型無關。因此,需要提供一種機制,從一個樣板中產生多個相應的程序段,以提高代碼的可重用性。
大型編譯---封裝機制,單獨編譯及程序包的分層機制等對於編寫大規模的程序來說是必不可少的。
Ada語言的"Hello,world!" 示常式序
一個Ada語言編寫的"你好世界"Hello world program程序:
withAda.Text_IO;
procereHello isbegin
Ada.Text_IO.Put_Line("Hello, world!");
end Hello;
在Ada.Text_IO.Put_Line處有一些快捷圖標,不需要很多的文字輸入,但是對於這里的理解來講並沒有多大意義。
細節性的問題請參考Ada Programming/Basic。

⑶ ada的語言標准

Ada曾認證於以下標准:ANSI MIL-STD 1815A - 1983年,程式語言Ada(Ada Programming language )ISO 8652:1987- 1987年,程式語言Ada(Ada Programming language )已撤回ISO/ANSI 8652:1995 - 1995年,程式語言Ada(Ada Programming language ),首個ISO標准面向對象語言認證。ISO/IEC 8652:1995/Amd 1:2007 - 2007年, 修正版程式語言Ada(Ada Programming language )已撤回ISO/IEC 8652:2012 - 2012年,程式語言Ada(Ada Programming language )

⑷ Ada語言有什麼特別之處

ada語言是為了紀念世界上第一位程序員也是世界上第一位女程序員用她的名字來命名的。
ada女士的父親是著名詩人拜倫。

⑸ 和C++相比,用ADA編程是怎樣的體驗

Ada語言是美國國防部指定的 唯一的一種可用於 軍用系統開發的語言。
Ada語言的重要特徵就是其嵌入式風格,模塊化設計,編譯檢查,平行處理,異常處理及泛型編程。
缺點:啰嗦;優點:強類型,高性能,自帶並發,面向對象,等等。
C++定義class,在Ada里要定義成Package,一樣的哪些函數/過程/數據結構要公開,哪些要隱藏。當然沒有類的繼承了。C++模仿了Ada的類屬,成為了所謂的模版template,還從Ada模仿了異常處理。用Ada語言主要還是為了它內建的多任務並發

⑹ Ada語言的失敗原因

一個普遍的關於歐洲航天局阿利亞納五號火箭失敗的說法是因為 Ada 語言在編譯過程的檢查失敗導致的。 將大的浮點數轉換成整數是一種常見的程序錯誤來源。1996年6月4日,對於Ariane 5火箭的初次航行來說,這樣一個錯誤產生了災難性的後果。發射後僅僅37秒,火箭偏離它的飛行路徑,解體並爆炸了。火箭上載有價值5億美元的通信衛星。6億美元付之一炬。後來的調查顯示,控制慣性導航系統的計算機向控制引擎噴嘴的計算機發送了一個無效數據。失事調查報告指出,火箭爆炸是因為:
During execution of a data conversion from 64-bit floating point to 16-bit signed integer value, the floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. This resulted in an Operand Error.
它沒有發送飛行控制信息,而是送出了一個診斷位模式,表明在將一個64位浮點數轉換成16位有符號整數時,產生了溢出。 溢出值測量的是火箭的水平速率,這比早先的Ariane 4火箭所能達到的高出了5倍。在設計阿利亞納4火箭的軟體時,他們小心地分析了數字值,並且確定水平速率絕不會超出一個16位的數。不幸的是,他們在阿利亞納5火箭的系統中簡單地重新使用了這一部分,而沒有檢查它所基於的假設。Ada代碼如下:
beginsensor_get(vertical_veloc_sensor);sensor_get(horizontal_veloc_sensor); vertical_veloc_bias := integer(vertical_veloc_sensor);horizontal_veloc_bias := integer(horizontal_veloc_sensor); ... exceptionwhennumeric_error => calculate_vertical_veloc();whenothers=> use_irs1(); end;

⑺ Ada語言的簡介

Ada的出現,標志著軟體工程成功地進入了國家和國際的規模。在一定意義上說,Ada還刺破了「馮.諾依曼思維模式」 (Von Newman Mind-set) 的桎梏,連同Ada的 支持環境(APSE)一起,形成了新一派的所謂 Ada文化。它是迄今為止 最復雜,最完備的軟體工具。 Ada語言是 美國國防部指定的 唯一的一種可用於 軍用系統開發的語言,我國軍方也將Ada做為軍內開發標准(GJB 1383《程序設計語言Ada》)。
-------------------------------------------------------------------------------- 美國國防部之所以把這種語言取名為Ada,是為了紀念奧古斯特. 艾達.洛夫萊斯伯爵夫人 (Augusta Ada Lovlace 1815-1852),她是英格蘭詩人拜倫(Byron)勛爵的女兒,曾對現代計算機技術之父查爾斯.巴貝奇(Charles Babage)的筆記,手稿進行了整理和修正。從某種意義上說,她是世界上第一位計算機程序員。
-------------------------------------------------------------------------------- 在明白這個問題之前,需要了解 Ada 的一系列特性。Ada 最初設計就是一門大型語言,因此在很多編程的重要問題上都有所考慮,以下文字摘自《 Ada Reference Manual》:
Ada最初設計時關注於 3 個最重要的問題:程序的穩定性和可維護性,程序設計和人的行為接近,並且高效。這份語言的修訂版是為了提供更大的靈活性和擴展性,存儲管理的額外控制和同步,以及標准化的程序包以支持重要的應用程序領域,同時保留原來的重點:穩定性,可維護性,和高效。對於程序設計語言促進可靠性和簡化維護難度的需求已被確立。因此程序可讀性的重要性高於輕松地寫代碼。例如,語言規則要求程序變數應當明確聲明並指定它們的類型。由於變數的數據類型是不變的,編譯器可以確保對於變數的操作適用於該類型的對象。另外,有錯誤傾向的符號已經避免,並且語言語法避免了編碼形式的使用,使更傾向於英語的結構。最後,Ada 語言提供了程序單元單獨編譯的功能,使程序開發和維護簡便,同樣也提供了在一個單元內多個單元之間的檢測。考慮人類程序員的問題也在設計時被強調。總而言之,在繼續避免過多復雜句型的缺陷的同時,嘗試以一致系統的方式保持相對較少的底層概念。
------------------------------------------------------------------------------ Ada語言最早是針對嵌入式和實時系統設計的,並且在今天依然在這方面使用廣泛。Ada95版,是由INTERMETR ICS公司的塔克。塔夫特於92到95年間設計的,當時主要是希望改進對於系統,數字,財務軟體編程的支持。
Ada語言的重要特徵就是其嵌入式風格,模塊化設計,編譯檢查,平行處理,異常處理及泛型編程。Ada在95年加入了對面向對象設計的支持,包括動態分配等。
Ada的編譯檢查主要是針對沒有分配的內存讀寫的保護,堆棧溢出錯誤,單個錯誤空閑,隊列讀寫錯誤以及其他可以避免的小問題。這些檢查可以在為增加效率的情況下被取消,但是在編譯的時候他們卻能帶來很高的效率。同樣它也包括對程序的嚴正的設置。因為這些原因,它被廣泛應用於一些非常重要的系統中,例如航空電子學,武器及航天飛行器的操作系統中。同樣它支持很多的編譯時間檢查,這些檢查被用來避免一些錯誤的發生。這種錯誤往往是在其他語言中在運行以前都不能被察覺到的,需要在源碼中加入特殊的檢查設置才能被發現。
Ada的動態內存管理非常安全和高規格,它類似於java語言卻不同於C語言的。這種特殊功能並不需要特殊的運行設置。盡管這種語言的語意結構允許對於不能讀寫的目標進行自動的碎片搜集,但是大多數運行都不支持它。A da卻支持有限形式基於區域的存儲管理。無效的讀寫常在運行時候被檢查出來(除非這種檢測被人為關閉)並且有時候在編譯時候就被發現。
Ada語言的定義同國際標准化組織(ISO)的標准有很大不同,因為他是一個自由內容形式的。這種做法的後果是被廣大程序員只能從它的標准化文檔(普遍認為是Ada的參考使用手冊(ARM))尋找細節性的技術問題,但是普遍情況是一本標准教科書卻可以在其他不同語言上使用。 Ada語言由嚴格的巴斯特範式定義,但是不適合一般人閱讀.它是第一種同時擁有IEC/ISO/美國軍用標准認證的語言. 其編譯器經過嚴格的審查,以確保同樣的代碼在任一編譯器上產生同樣的可執行效果.並且保證並行性在代碼級可以在無操作系統下同樣運行.
Ada語言最初設計是為了構建長周期的、高度可靠的軟體系統。它提供了一系列功能來定義相關的數據類型(type) 、對象(object)和操作(operation)的程序包(package)。程序包可以被參數化,數據類型可以被擴展以支持可重用庫的構建。操作既可以使用方便的順序控制結構,通過子程序(subprogram)來實現,也可以通過包含並發線程同步控制的入口(entry)來實現。
Ada也支持單獨編譯(separate compilation),在物理層上支持模塊性。 Ada包含了很復雜的功能以支持實時(real-time),並發程序設計(concurrent programming)。錯誤可以作為異常(exception)來標示,並可以被明確地處理。
Ada也覆蓋了系統編程(system programming);這需要對數據表示和系統特性訪問的精確控制。最後,提供了預定義的標准程序包,包括輸入輸出、字元串處理、數值計算的基本函數和隨機數生成來。

⑻ ada在什麼系統上用,怎麼用

朋友你好,
感謝你求助與我們團隊。
ada語言的歷史意義對一個程序員來說還是需要了解的,下面我們談談ada語言的優勢所在。它類似於JAVA語言面向對象的風格卻不同於C語言,ada重要特徵就是其嵌入式風格,模塊化設計,編譯檢查,平行處理,異常處理及泛型編程。
嵌入式風格,ada最早是針對嵌入式和實時系統設計的,在今天也廣泛應用。
編譯檢查,這些檢查可以在為增加效率的情況下被取消,但是在編譯的時候他們卻能帶來很高的效率。
異常檢查,支持很多的編譯時間檢查,這些檢查被用來避免一些錯誤的發生。這種錯誤往往是在其他語言中在運行以前都不能被察覺到的,需要在源碼中加入特殊的檢查設置才能被發現。
泛型編程也是java語言的特性之一。
至於朋友你所說的ada語言在什麼系統上用,據我了解,主要不是在什麼系統上使用,關鍵在於使用ada語言的編譯器GNU Ada等。
說得不好請原諒。希望能對你稍有幫助吧。

⑼ 誰知道現在用什麼樣的ADA語言編譯器啊,給推薦下!怎麼用!謝謝~!

gun的mingw中有

閱讀全文

與ada語言編譯相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26