clinux
先在windows系統下把C語言的基本知識學好,之後到linux系統下繼續深造。
當然,前提是你想進一步掌握更多的知識,否則,在windows系統下學點C語言就夠了,比如寫點簡單的小程序什麼的。
以下內容摘自《Linux C編程一站式學習》的前言:
為什麼要在Linux平台上學C語言?用Windows學C語言不好嗎?
用Windows還真的是學不好C語言。C語言是一種面向底層的編程語言,要寫好C程序,必須對操作系統的工作原理非常清楚,因為操作系統也是用C寫的,我們用C寫應用程序直接使用操作系統提供的介面。
Linux是一種開源的操作系統,你有任何疑問都可以從源代碼和文檔中找到答案,即使你看不懂源代碼,也找不到文檔,也很容易找個高手教你,各種郵件列表、新聞組和論壇上從來都不缺樂於助人的高手;而Windows是一種封閉的操作系統,除了微軟的員工別人都看不到它的源代碼,只能通過文檔去猜測它的工作原理,更糟糕的是,微軟向來喜歡藏著揶著,好用的功能留著自己用,而不會寫到文檔里公開。
本書的第一部分在Linux或Windows平台上學習都可以,但第二部分和第三部分介紹了很多Linux操作系統的原理以幫助讀者更深入地理解C語言,只能在Linux平台上學習。
Windows平台上的開發工具往往和各種集成開發環境(IDE,Integrated Development Environment)綁在一起,例如Visual Studio、Eclipse等。使用IDE確實很便捷,但IDE對於初學者絕對不是好東西。微軟喜歡宣揚傻瓜式編程的理念,告訴你用滑鼠拖幾個控制項,然後點一個按鈕就可以編譯出程序來,但是真正有用的程序有哪個是這么拖出來的?很多從Windows平台入門學編程的人,編了好幾年程序,還是只知道編完程序點一個按鈕就可以跑了,把幾個源文件拖到一個項目里就可以編譯到一起了,如果有更復雜的需求他們就傻眼了,因為他們腦子里只有按鈕、菜單的概念,根本沒有編譯器、鏈接器、Makefile的概念,甚至連命令行都沒用過,然而這些都是初學編程就應該建立起來的基本概念。另一方面,編譯器、鏈接器和C語言的語法有密切的關系,不了解編譯器、鏈接器的工作原理,也不可能真正掌握C的語法。所以,IDE並沒有幫助你學習,而是阻礙了你學習,本來要學好C編程只要把語法和編譯命令學會就行了,現在有了IDE,除了學會語法和編譯命令,你還得弄清楚編譯命令和IDE是怎麼集成的,這才算學明白了,本來就很復雜的學習任務被IDE搞得更加復雜了。Linux用戶的使用習慣從來都是以敲命令為主,以滑鼠操作為輔,從學編程的第一天起就要敲命令編譯程序,等到你把這些基本概念都搞清楚了,你覺得哪個IDE好用你再去用,不過到那時候你可能會更喜歡vi或emacs而不是IDE了。
Ⅱ linux和c語言
linux的是一操作系統,其本質是一系列的任務調度,內存管理,虛擬文件系統等演算法的集合.它告訴你的計算機怎麼充分利用你機器上的資源.linux內核的源代碼是用C語言寫的(源代碼也見於pub.kernel.org).
C語言是一門編程語言,其本質是把一些C語言關鍵詞描述的演算法轉換為計算機可以直接運行的二進制機器語言的整體.想把C語言寫成的代碼編譯成二進制機器語言要使用C編譯器(C compiler),C編譯器是一個軟體,它可以把C語言寫成的代碼轉換成機器可以執行的二進制文件. 世界上有多款這樣的軟體,如gcc. linux內核及linux環境下可用的所有軟體都是用gcc編譯的.
簡而言之,linux是一個操作系統,是一個各種應用程序工作的環境. linux的內核,即這個操作系統的核心代碼,是用c語言編寫,並用gcc編譯的. linux內核是一套描述系統工作方式的演算法,C語言是其實現途徑. C語言也可以用來編譯其它的代碼.
Ⅲ linux c與普通的c語言有什麼不一樣
沒有什麼普通的C語言還是Linux C的說法,C語言就是C語言,你說的普通是指Windows中的C語言嗎?我第一次聽說C語言還有這樣分類的!!!無論是在Linux下還是在Windows下,C語言是不變的,唯一不一樣的是編譯環境。
Ⅳ linux下的c/c++開發
我就是做LINUX下的C開發的。
准確的說,LINUX下C才是主要的開發語言,但是寫應用程序還是要用面向對象的,尤其是圖形界面的,不如QT和X和GTK等等。下面說的必須要求你C語言學的很好而且會使用LINUX的情況下。LINUX常用命令要熟悉。
要學LINUX下的C編程,先看一兩本LINUX下C的書比較好,這個你自己選擇,但是經典的書還是好一些,比如《LINUX程序設計》、《UNIX環境高級編程》,看這些的時候把書上的例子選擇一些自己編譯一下,哪怕是照著敲進去,事半功倍。
看完一本這樣的書,你對LINUX系統編程的知識就足夠了,這時候你可以開始閱讀一些LINUX下的源代碼來鍛煉和提升能力了,LINUX下有很多開源的軟體,你可以搜一下,應用程序也很多,但是最好的源代碼還是LINUX內核。
推薦一本簡單的內核書《linux內核完全剖析0.12》,這個講的是0.12內核,代碼量只有1萬多行的內核,現在的2.6估計一千萬,一輩子看不完。這個書講了很多X86體系結構的知識,這時理解內核必備的,匯編你要能看懂。
能看懂內核代碼了,就說明你至少不是初學者了,現在肯定能開發項目了,有了經驗後,恭喜你,你就成為一名LINUX程序員了。
再由這些基礎後,你就可以選擇一些具體的開放方向了,比如底層一點,驅動,協議等、或者嵌入式應用等、或者是QT等。不過這就是後話了,呵呵
我自己的一些體會,希望能對你有用。
Ⅳ linux c %x 是什麼意思
%X 讀入十六進制整數 ,%c 讀入一個字元 更多Linux命令介紹可查看「Linux命令大全」。
Ⅵ linux與c語言有什麼異同
兩個是不同的東西,Linux是操作系統,是系統軟體,而c語言是編程語言,是用來編寫軟體的,Linux系統的絕大部分功能就是c語言實現的。
Ⅶ 在linux 編譯c。
gcc hello.c -o hello //gcc 是linux下的編譯器。 hello.c是源文件 hello是最終生成的可執行文件
./hello 運行這個程序
也可以不用-o, 直接gcc hello.c 這樣的話默認生成a.out可執行文件 ./a.out運行
Ⅷ linux 中 -C是什麼意思
-c :建立一個壓縮文件的參數指令(create 的意思)
首先介紹一個名詞「控制台(console)」,它就是我們通常見到的使用字元操作界面的人機介面,例如dos。我們說控制台命令,就是指通過字元界面輸入的可以操作系統的命令,例如dos命令就是控制台命令。
我們現在要了解的是基於Linux操作系統的基本控制台命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。
(8)clinux擴展閱讀:
-x :解開一個壓縮文件的參數指令!
-t :查看 tarfile 裡面的文件!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!
因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
Ⅸ linux 通配符%.c和*.c區別
%.c是GUNmake語法層,表示的是所有以".c"結尾的文件
而*.c則是linux shell 語法層的,比如:rm -f *.o 類似的。
意思基本是一樣的,就是一個是GUNmake的一個是shell的
Ⅹ linux c和c有什麼區別
linux :庫 編輯器 編譯器 都是分別安裝的 運用靈活
windows: 一般是集成開發環境,包含了上述東西
c都有個標准庫,那個是一樣的,其他的就不一定一樣了,linux下的庫可以等你需要時再安裝進系統,還有相關文檔說明
linux下有c++的
其實linux下有個很強大的glibc庫,他將c重新封裝,直接可以用c進行面向對象的開發