資料介紹
分享到:標簽:C語言編程 Linux 編譯鏈接器 調試器 操作系統(tǒng)
3.1 Linux下C語言編程概述
3.1.1 C語言簡單回顧
C語言最早是由貝爾實驗室的Dennis Ritchie為了UNIX的輔助開發(fā)而編寫的,它是在B語言的基礎上開發(fā)出來的。盡管C語言不是專門針對UNIX操作系統(tǒng)或機器編寫的,但它與UNIX系統(tǒng)的關系十分緊密。由于它的硬件無關性和可移植性,使C語言逐漸成為世界上使用最廣泛的計算機語言。
為了進一步規(guī)范C語言的硬件無關性,1987年,美國國家標準協(xié)會(ANSI)根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴充,制定了新的標準,稱為ANSI C。ANSI C語言比原來的標準C語言有了很大的發(fā)展。目前流行的C語言編譯系統(tǒng)都是以它為基礎的。
C語言的成功并不是偶然的,它強大的功能和它的可移植性讓它能在各種硬件平臺上游刃自如??傮w而言,C語言有如下特點。
(1)C語言是“中級語言”。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C語言可以像匯編語言一樣對位、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元。
(2)C語言是結構化的語言。C語言采用代碼及數(shù)據(jù)分隔,使程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便地調用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結構化。
(3)C語言功能齊全。C語言具有各種各樣的數(shù)據(jù)類型,并引入了指針的概念,可使程序效率更高。另外,C語言也具有強大的圖形功能,支持多種顯示器和驅動器,而且計算功能、邏輯判斷功能也比較強大,可以實現(xiàn)決策目的。
?。?)C語言可移植性強。C語言適合多種操作系統(tǒng),如DOS、Windows、Linux,也適合多種體系結構,因此尤其適合在嵌入式領域的開發(fā)。
3.1.2 Linux下C語言編程環(huán)境概述
Linux下的C語言程序設計與在其他環(huán)境中的C程序設計一樣,主要涉及編輯器、編譯鏈接器、調試器及項目管理工具?,F(xiàn)在我們先對這4種工具進行簡單介紹,后面會對其一一進行講解。
?。?)編輯器。
Linux下的編輯器就如Windows下的記事本、寫字板等一樣,完成對所錄入文字的編輯功能。Linux中最常用的編輯器有vi(vim)和emacs,
它們功能強大、使用方便,深受編程愛好者的喜愛。在本書中,著重介紹vi和emacs。
?。?)編譯鏈接器。
編譯是指源代碼轉化生成可執(zhí)行代碼的過程,它所完成的主要工作如圖3.1所示。

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

圖3.1 編譯過程
可見,編譯過程是非常復雜的,它包括詞法、語法和語義的分析、中間代碼的生成和優(yōu)化、符號表的管理和出錯處理等。在Linux中,最常用的編譯器是gcc編譯器。它是GNU推出的功能強大、性能優(yōu)越的多平臺編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%~30%。
?。?)調試器
調試器并不是代碼執(zhí)行的必備工具,而是專為方便程序員調試程序而用的。有編程經驗的讀者都知道,在編程的過程當中,往往調試所消耗的時間遠遠大于編寫代碼的時間。因此,有一個功能強大、使用方便的調試器是必不可少的。gdb是絕大多數(shù)Linux開發(fā)人員所使用的調試器,它可以方便地設置斷點、單步跟蹤等,足以滿足開發(fā)人員的需要。
?。?)項目管理器。
Linux中的項目管理器“make”有些類似于Windows中Visual c++里的“工程”,它是一種控制編譯或者重復編譯軟件的工具,另外,它還能自動管理軟件編譯的內容、方式和時機,使程序員能夠把精力集中在代碼的編寫上而不是在源代碼的組織上。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- C語言嵌入式Linux高級編程
- 基于Linux的C語言編程入門教程 19次下載
- Linux下C語言編程入門教程詳細說明 39次下載
- 信號與定時器的使用在Linux系統(tǒng)下的C語言程序免費下載
- LINUX系統(tǒng)教程之如何在Linux系統(tǒng)下進行編程 9次下載
- Linux操作系統(tǒng)實用教程之如何進行Linux系統(tǒng)下的編程管理 5次下載
- Linux操作系統(tǒng)下C語言編程入門.pdf 96次下載
- TMS320C54xC語言編程和運行環(huán)境的詳細中文資料概述 18次下載
- Linux下C編程 嵌入式開發(fā) 31次下載
- 基于Linux操作系統(tǒng)下C語言編程入門 11次下載
- linux 下C編程 9次下載
- linux內核C語言的編程風格 0次下載
- DSP環(huán)境下C語言的編程優(yōu)化 22次下載
- linux下c語言編程pdf 0次下載
- Linux操作系統(tǒng)-C語言編程入門-pdf
- C語言中的socket編程基礎 396次閱讀
- PLC編程語言和C語言的區(qū)別 3079次閱讀
- plc編程語言與c語言的聯(lián)系 c語言和PLC有什么區(qū)別 4300次閱讀
- C語言是否支持泛型編程? 706次閱讀
- 深入探索Linux中的C語言 2015次閱讀
- C語言是怎么面向對象編程 1708次閱讀
- SPI總線驅動的C語言源代碼詳細概述 7349次閱讀
- C語言的簡介和特點說明 8053次閱讀
- 淺談嵌入式Linux下的C語言編程知識要點 4703次閱讀
- 嵌入式Linux下的C編程知識要點匯總 3146次閱讀
- 學習開發(fā)環(huán)境和編程語言:匯編語言和C語言的比較 9080次閱讀
- C語言作為高級編程語言中的一門“低級”語言為什么要學習? 8179次閱讀
- plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解 7.4w次閱讀
- Java編程和c語言哪一種更有優(yōu)勢_C語言與JAVA的區(qū)別是什么 2.4w次閱讀
- arduino用什么語言編程 6.9w次閱讀
下載排行
本周
- 1EMC電路設計工程師必備的EMC基礎
- 0.42 MB | 4次下載 | 2 積分
- 2AU3116 2×60W模擬輸入雙通道Class-D 音頻功率放大器數(shù)據(jù)手冊
- 1.19 MB | 1次下載 | 免費
- 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊
- 0.78 MB | 1次下載 | 免費
- 4ZX8002E 觸摸調光LED集成IC數(shù)據(jù)手冊
- 2.27 MB | 次下載 | 免費
- 5SOD-323塑料封裝ESD保護二極管SD05T系列規(guī)格書
- 1.07 MB | 次下載 | 免費
- 6SOT-23塑料封裝ESD保護二極管SMxx Series系列規(guī)格書
- 0.93 MB | 次下載 | 免費
- 7高效率整流二極管HER151 THRU HER158數(shù)據(jù)手冊
- 0.54 MB | 次下載 | 免費
- 8低壓降肖特基整流管SL22 THRU SL210數(shù)據(jù)手冊
- 1.03 MB | 次下載 | 免費
本月
- 1三相逆變主電路的原理圖和PCB資料合集免費下載
- 27.35 MB | 111次下載 | 1 積分
- 2運算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費
- 3蘋果iphone 11電路原理圖
- 4.98 MB | 11次下載 | 5 積分
- 4TL494工業(yè)用開關電源原理圖資料
- 0.22 MB | 10次下載 | 1 積分
- 5常用電子元器件介紹
- 3.21 MB | 8次下載 | 免費
- 6QW2893應急燈專用檢測芯片
- 590.40 KB | 4次下載 | 免費
- 7相關協(xié)議信號總結
- 0.94 MB | 4次下載 | 免費
- 8EMC電路設計工程師必備的EMC基礎
- 0.42 MB | 4次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183344次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論