1. 程式人生 > >為什麼說C語言和linux是分不開的?

為什麼說C語言和linux是分不開的?

在很多人的眼裡,C語言和linux常常是分不開的。這其中的原因很多,其中最重要的一部分是linux本身就是C語言的傑出作品。當然,linux作業系統本身對C語言的支援也是相當到位的。作為一個真正的程式設計師來說,如果沒有在linux下面用C語言編寫過完整的程式,那麼只能說他對C語言本身的理解還相關膚淺,對系統本身的認識也不夠到位。作為程式設計師來說,linux系統為我們提供了很多理想的環境,這其中包括了下面幾個方面,

(1)完善的編譯環境,包括gcc、as、ld等編譯、連結工具

(2)強大的除錯環境,主要是gdb工具

(3)豐富的自動編譯工具,主要是make工具

(4)多樣化的os選擇,ubuntu、redflag等等

(5)浩瀚的開原始碼庫

(C/C++企業實戰級課程資源(素材+原始碼+視訊)、編譯大禮包免費分享,需要的加學習群892643663)

當然,不管怎麼說,最終朋友們還是應該自己勇敢地跨出前進的第一步。如果還沒有過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/C++企業實戰級課程資源(素材+原始碼+視訊)、編譯大禮包免費分享,需要的加學習群892643663。)