為什么說C語言和linux是分不開的?
在很多人的眼里玛歌,C語言和linux常常是分不開的昧港。這其中的原因很多,其中最重要的一部分是linux本身就是C語言的杰出作品支子。當(dāng)然创肥,linux操作系統(tǒng)本身對C語言的支持也是相當(dāng)?shù)轿坏摹W鳛橐粋€(gè)真正的程序員來說值朋,如果沒有在linux下面用C語言編寫過完整的程序叹侄,那么只能說他對C語言本身的理解還相關(guān)膚淺,對系統(tǒng)本身的認(rèn)識也不夠到位昨登。作為程序員來說淆储,linux系統(tǒng)為我們提供了很多理想的環(huán)境步藕,這其中包括了下面幾個(gè)方面数冬,
(1)完善的編譯環(huán)境囊咏,包括gcc淤翔、as丰包、ld等編譯饶唤、鏈接工具
(2)強(qiáng)大的調(diào)試環(huán)境肄程,主要是gdb工具
(3)豐富的自動(dòng)編譯工具睦擂,主要是make工具
(4)多樣化的os選擇得湘,ubuntu、redflag等等
(5)浩瀚的開源代碼庫
當(dāng)然顿仇,不管怎么說淘正,最終朋友們還是應(yīng)該自己勇敢地跨出前進(jìn)的第一步摆马。如果還沒有過Linux編程經(jīng)驗(yàn)的朋友可以首先在自己的pc上面安裝一個(gè)虛擬機(jī),然后就可以在shell下面編寫自己的C語言代碼了鸿吆。
編寫完上面的代碼后囤采,你需要做的就是兩個(gè)步驟:1、輸入 gcc hello.c -o hello惩淳;2蕉毯、輸入./hello。如果一切正常的話思犁,此時(shí)你應(yīng)該會(huì)在屏幕上看到一行hello的打印代虾。如果你看到了,那么恭喜你激蹲,你已經(jīng)可以開始linux的c語言編程之旅了棉磨。
當(dāng)然,我們不會(huì)滿足于這么簡單的打印功能学辱。下面就可以編寫一個(gè)簡單的迭代函數(shù)乘瓤,
此時(shí),同樣我們需要重復(fù)上面的步驟:1策泣、輸入gcc hello.c -o hello衙傀;2、輸入./hello着降。當(dāng)然此時(shí)如果一切OK的話差油,你就會(huì)看到屏幕會(huì)有55這個(gè)數(shù)的輸出。本來1到10的數(shù)據(jù)之和就是55任洞, 這說明我們的程序是正確的蓄喇。
在學(xué)習(xí)C/C++或者想要學(xué)習(xí)C/C++可以加我們的學(xué)習(xí)交流QQ群:712263501群內(nèi)有相關(guān)學(xué)習(xí)資料
當(dāng)然,還會(huì)有一些朋友對程序的反匯編感興趣交掏,那么他需要兩個(gè)步驟:1妆偏、gcc hello.c -g -o hello;2盅弛、objdump -S -d ./hello钱骂。之所以在gcc編譯的時(shí)候加上-g是為了添加調(diào)試信息,objdump中的-S選項(xiàng)是為了在顯示匯編代碼的時(shí)候同時(shí)顯示原來的C語言源代碼挪鹏。