Linux下C編程基礎之:Linux下C語(yǔ)言編程概述
3.1Linux下C語(yǔ)言編程概述
3.1.1C語(yǔ)言簡(jiǎn)單回顧
C語(yǔ)言最早是由貝爾實(shí)驗室的DennisRitchie為了UNIX的輔助開(kāi)發(fā)而編寫(xiě)的,它是在B語(yǔ)言的基礎上開(kāi)發(fā)出來(lái)的。盡管C語(yǔ)言不是專(zhuān)門(mén)針對UNIX操作系統或機器編寫(xiě)的,但它與UNIX系統的關(guān)系十分緊密。由于它的硬件無(wú)關(guān)性和可移植性,使C語(yǔ)言逐漸成為世界上使用最廣泛的計算機語(yǔ)言。
本文引用地址:http://dyxdggzs.com/article/257154.htm為了進(jìn)一步規范C語(yǔ)言的硬件無(wú)關(guān)性,1987年,美國國家標準協(xié)會(huì )(ANSI)根據C語(yǔ)言問(wèn)世以來(lái)各種版本對C語(yǔ)言的發(fā)展和擴充,制定了新的標準,稱(chēng)為ANSIC。ANSIC語(yǔ)言比原來(lái)的標準C語(yǔ)言有了很大的發(fā)展。目前流行的C語(yǔ)言編譯系統都是以它為基礎的。
C語(yǔ)言的成功并不是偶然的,它強大的功能和它的可移植性讓它能在各種硬件平臺上游刃自如??傮w而言,C語(yǔ)言有如下特點(diǎn)。
(1)C語(yǔ)言是“中級語(yǔ)言”。它把高級語(yǔ)言的基本結構和語(yǔ)句與低級語(yǔ)言的實(shí)用性結合起來(lái)。C語(yǔ)言可以像匯編語(yǔ)言一樣對位、字節和地址進(jìn)行操作,而這三者是計算機最基本的工作單元。
(2)C語(yǔ)言是結構化的語(yǔ)言。C語(yǔ)言采用代碼及數據分隔,使程序的各個(gè)部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C語(yǔ)言是以函數形式提供給用戶(hù)的,這些函數可方便地調用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結構化。
(3)C語(yǔ)言功能齊全。C語(yǔ)言具有各種各樣的數據類(lèi)型,并引入了指針的概念,可使程序效率更高。另外,C語(yǔ)言也具有強大的圖形功能,支持多種顯示器和驅動(dòng)器,而且計算功能、邏輯判斷功能也比較強大,可以實(shí)現決策目的。
(4)C語(yǔ)言可移植性強。C語(yǔ)言適合多種操作系統,如DOS、Windows、Linux,也適合多種體系結構,因此尤其適合在嵌入式領(lǐng)域的開(kāi)發(fā)。
3.1.2Linux下C語(yǔ)言編程環(huán)境概述
Linux下的C語(yǔ)言程序設計與在其他環(huán)境中的C程序設計一樣,主要涉及編輯器、編譯鏈接器、調試器及項目管理工具?,F在我們先對這4種工具進(jìn)行簡(jiǎn)單介紹,后面會(huì )對其一一進(jìn)行講解。
(1)編輯器.
Linux下的編輯器就如Windows下的記事本、寫(xiě)字板等一樣,完成對所錄入文字的編輯功能。Linux中最常用的編輯器有vi(vim)和emacs,
它們功能強大、使用方便,深受編程愛(ài)好者的喜愛(ài)。在本書(shū)中,著(zhù)重介紹vi和emacs。
(2)編譯鏈接器。
編譯是指源代碼轉化生成可執行代碼的過(guò)程,它所完成的主要工作如圖3.1所示。
圖3.1編譯過(guò)程
可見(jiàn),編譯過(guò)程是非常復雜的,它包括詞法、語(yǔ)法和語(yǔ)義的分析、中間代碼的生成和優(yōu)化、符號表的管理和出錯處理等。在Linux中,最常用的編譯器是gcc編譯器。它是GNU推出的功能強大、性能優(yōu)越的多平臺編譯器,其執行效率與一般的編譯器相比平均效率要高20%~30%。
(3)調試器
調試器并不是代碼執行的必備工具,而是專(zhuān)為方便程序員調試程序而用的。有編程經(jīng)驗的讀者都知道,在編程的過(guò)程當中,往往調試所消耗的時(shí)間遠遠大于編寫(xiě)代碼的時(shí)間。因此,有一個(gè)功能強大、使用方便的調試器是必不可少的。gdb是絕大多數Linux開(kāi)發(fā)人員所使用的調試器,它可以方便地設置斷點(diǎn)、單步跟蹤等,足以滿(mǎn)足開(kāi)發(fā)人員的需要。
(4)項目管理器。
Linux中的項目管理器“make”有些類(lèi)似于Windows中Visualc++里的“工程”,它是一種控制編譯或者重復編譯軟件的工具,另外,它還能自動(dòng)管理軟件編譯的內容、方式和時(shí)機,使程序員能夠把精力集中在代碼的編寫(xiě)上而不是在源代碼的組織上。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
linux相關(guān)文章:linux教程
c++相關(guān)文章:c++教程
評論