新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux下C編程基礎之:Linux下C語言編程概述

        Linux下C編程基礎之:Linux下C語言編程概述

        作者: 時間:2013-09-13 來源:網絡 收藏

        3.1概述

        3.1.1C語言簡單回顧

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

        本文引用地址:http://www.104case.com/article/257154.htm

        為了進一步規范C語言的硬件無關性,1987年,美國國家標準協會(ANSI)根據C語言問世以來各種版本對C語言的發展和擴充,制定了新的標準,稱為ANSIC。ANSIC語言比原來的標準C語言有了很大的發展。目前流行的C語言編譯系統都是以它為基礎的。

        C語言的成功并不是偶然的,它強大的功能和它的可移植性讓它能在各種硬件平臺上游刃自如??傮w而言,C語言有如下特點。

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

        (2)C語言是結構化的語言。C語言采用代碼及數據分隔,使程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便地調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。

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

        (4)C語言可移植性強。C語言適合多種,如DOS、Windows、,也適合多種體系結構,因此尤其適合在嵌入式領域的開發。

        3.1.2環境概述

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

        (1)編輯器.

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

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

        (2)

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

        圖3.1編譯過程

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

        (3)

        并不是代碼執行的必備工具,而是專為方便程序員調試程序而用的。有編程經驗的讀者都知道,在編程的過程當中,往往調試所消耗的時間遠遠大于編寫代碼的時間。因此,有一個功能強大、使用方便的調試器是必不可少的。gdb是絕大多數Linux開發人員所使用的調試器,它可以方便地設置斷點、單步跟蹤等,足以滿足開發人員的需要。

        (4)項目管理器。

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

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

        c語言相關文章:c語言教程


        linux相關文章:linux教程


        c++相關文章:c++教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 施甸县| 宜兰县| 墨竹工卡县| 云安县| 图木舒克市| 乌鲁木齐县| 保靖县| 焉耆| 宿迁市| 三穗县| 大名县| 抚远县| 萍乡市| 来宾市| 台中县| 手游| 河津市| 柘城县| 平远县| 荥阳市| 台前县| 绥中县| 兴和县| 上高县| 安泽县| 拉萨市| 西华县| 沧州市| 贵定县| 太谷县| 佛山市| 恭城| 台安县| 南雄市| 滦平县| 乌拉特中旗| 盐亭县| 成都市| 晋州市| 海城市| 滦平县|