<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linux下C編程基礎(chǔ)之:Linux下C語言編程概述

          Linux下C編程基礎(chǔ)之:Linux下C語言編程概述

          作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

          3.1概述

          3.1.1C語言簡單回顧

          C語言最早是由貝爾實(shí)驗(yàn)室的DennisRitchie為了UNIX的輔助開發(fā)而編寫的,它是在B語言的基礎(chǔ)上開發(fā)出來的。盡管C語言不是專門針對UNIX或機(jī)器編寫的,但它與UNIX系統(tǒng)的關(guān)系十分緊密。由于它的硬件無關(guān)性和可移植性,使C語言逐漸成為世界上使用最廣泛的計算機(jī)語言。

          本文引用地址:http://www.ex-cimer.com/article/257154.htm

          為了進(jìn)一步規(guī)范C語言的硬件無關(guān)性,1987年,美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴(kuò)充,制定了新的標(biāo)準(zhǔn),稱為ANSIC。ANSIC語言比原來的標(biāo)準(zhǔn)C語言有了很大的發(fā)展。目前流行的C語言編譯系統(tǒng)都是以它為基礎(chǔ)的。

          C語言的成功并不是偶然的,它強(qiáng)大的功能和它的可移植性讓它能在各種硬件平臺上游刃自如。總體而言,C語言有如下特點(diǎn)。

          (1)C語言是“中級語言”。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實(shí)用性結(jié)合起來。C語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,而這三者是計算機(jī)最基本的工作單元。

          (2)C語言是結(jié)構(gòu)化的語言。C語言采用代碼及數(shù)據(jù)分隔,使程序的各個部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便地調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。

          (3)C語言功能齊全。C語言具有各種各樣的數(shù)據(jù)類型,并引入了指針的概念,可使程序效率更高。另外,C語言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動器,而且計算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的。

          (4)C語言可移植性強(qiáng)。C語言適合多種,如DOS、Windows、,也適合多種體系結(jié)構(gòu),因此尤其適合在嵌入式領(lǐng)域的開發(fā)。

          3.1.2環(huán)境概述

          Linux下的C語言程序設(shè)計與在其他環(huán)境中的C程序設(shè)計一樣,主要涉及編輯器、、及項(xiàng)目管理工具?,F(xiàn)在我們先對這4種工具進(jìn)行簡單介紹,后面會對其一一進(jìn)行講解。

          (1)編輯器.

          Linux下的編輯器就如Windows下的記事本、寫字板等一樣,完成對所錄入文字的編輯功能。Linux中最常用的編輯器有vi(vim)和emacs,

          它們功能強(qiáng)大、使用方便,深受編程愛好者的喜愛。在本書中,著重介紹vi和emacs。

          (2)。

          編譯是指源代碼轉(zhuǎn)化生成可執(zhí)行代碼的過程,它所完成的主要工作如圖3.1所示。

          圖3.1編譯過程

          可見,編譯過程是非常復(fù)雜的,它包括詞法、語法和語義的分析、中間代碼的生成和優(yōu)化、符號表的管理和出錯處理等。在Linux中,最常用的編譯器是gcc編譯器。它是GNU推出的功能強(qiáng)大、性能優(yōu)越的多平臺編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%~30%。

          (3)

          并不是代碼執(zhí)行的必備工具,而是專為方便程序員調(diào)試程序而用的。有編程經(jīng)驗(yàn)的讀者都知道,在編程的過程當(dāng)中,往往調(diào)試所消耗的時間遠(yuǎn)遠(yuǎn)大于編寫代碼的時間。因此,有一個功能強(qiáng)大、使用方便的調(diào)試器是必不可少的。gdb是絕大多數(shù)Linux開發(fā)人員所使用的調(diào)試器,它可以方便地設(shè)置斷點(diǎn)、單步跟蹤等,足以滿足開發(fā)人員的需要。

          (4)項(xiàng)目管理器。

          Linux中的項(xiàng)目管理器“make”有些類似于Windows中Visualc++里的“工程”,它是一種控制編譯或者重復(fù)編譯軟件的工具,另外,它還能自動管理軟件編譯的內(nèi)容、方式和時機(jī),使程序員能夠把精力集中在代碼的編寫上而不是在源代碼的組織上。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          c語言相關(guān)文章:c語言教程


          linux相關(guān)文章:linux教程


          c++相關(guān)文章:c++教程




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();