你以為C語言是單身狗?它和linux那些不為人知的關系了解一下


如果你以為C語言是一個獨立的個體,那你就錯了。其實,C語言和linux常常是分不開的。這其中的原因很多,其中最重要的一部分是linux本身就是C語言的傑出作品。當然,linux操作系統本身對C語言的支持也是相當到位的。作為一個真正的程序員來說,如果沒有在linux下面用C語言編寫過完整的程序,那么只能說他對C語言本身的理解還相關膚淺,對系統本身的認識也不夠到位。
 
 
作為程序員來說,linux系統為我們提供了很多理想的環境,這其中包括了下面幾個方面:
(1)完善的編譯環境,包括gcc、as、ld等編譯、鏈接工具
(2)強大的調試環境,主要是gdb工具
(3)豐富的自動編譯工具,主要是make工具
(4)多樣化的os選擇,ubuntu、redflag等等
(5)浩瀚的開源代碼庫
當然,不管怎么說,最終朋友們還是應該自己勇敢地跨出前進的第一步。如果還沒有過Linux編程經驗的朋友可以首先在自己的pc上面安裝一個虛擬機,然后就可以在shell下面編寫自己的C語言代碼了。
 
 
編寫完上面的代碼后,你需要做的就是兩個步驟:1、輸入 gcc hello.c -o hello;2、輸入./hello。如果一切正常的話,此時你應該會在屏幕上看到一行hello的打印。如果你看到了,那么恭喜你,你已經可以開始linux的c語言編程之旅了。
 
 
當然,我們不會滿足於這么簡單的打印功能。下面就可以編寫一個簡單的迭代函數:
 
 
此時,同樣我們需要重復上面的步驟:1、輸入gcc hello.c -o hello;2、輸入./hello。當然此時如果一切OK的話,你就會看到屏幕會有55這個數的輸出。本來1到10的數據之和就是55, 這說明我們的程序是正確的。
當然, 還會有一些朋友對程序的反匯編感興趣,那么他需要兩個步驟:1、gcc hello.c -g -o hello;2、objdump -S -d ./hello。之所以在gcc編譯的時候加上-g是為了添加調試信息,objdump中的-S選項是為了在顯示匯編代碼的時候同時顯示原來的C語言源代碼。
 
 
我認為, C是一門編程語言,只要有編譯器就可以編譯成可執行程序。linux是一門操作系統,是一個編譯好程序,用C和匯編編寫出來的。可以理解為水泥和樓房的關系,C是水泥,linux是樓房,水泥可以蓋樓可以鋪路,樓房是水泥和其他材料蓋成的。因此,C語言不是獨立的個體,它與linux是相輔相成,相互聯系的。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM