Linux與C的關係總結

來源:互聯網
上載者:User

標籤:ar   os   sp   檔案   bs   工作   linux   nbsp   程式   

       首先C是一門語言,包含了一些規定的文法和結構,但並沒有包含到我們平常所用的函數,如prinf()和scanf(),這些只是由C標準庫所提供的。之所以存在C標準庫,是因為這些已經編好的函數是我們平常編程經常用到的,這可以方便我們的工作。當然,你也可以自己編寫方便編程、屬於自己的C庫。C標準僅僅是規定了介面,也就是僅規定了函數原型,或者說是標頭檔,而具體的實現各有不同。glibc庫是其中一種對C標準的實現,由GNU完成,GNU C LIBRARY。我們平常寫C程式時,為了可以用到一些規定好的函數,會在前麵包含標頭檔,相當於函數原型聲明。通過gcc對程式編譯,然後連結C庫,連結相當於將函數的具體實現連起來,最後形成二進位檔案。

       Linux是由C語言編寫的,它有自己的標頭檔和核心功能來實現核心的功能。核心的編寫並不依賴於C標準庫。這一點我之前是有所混亂的,後來想通了。而且C標準庫裡面的一些函數是封裝了Linux的系統調用的。所以不可能依賴C標準庫。而所謂的POSIX標準,是規定作業系統要提供哪些介面,但沒有規定具體的實現。POSIX標準包含了C標準規定的標頭檔和另外一些提供系統服務的標頭檔。通過POSIX介面,我們可以進行系統編程。

Linux與C的關係總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.