㈠ linux系統下的C語言開發都需要學些什麼
一、工具的使用 1、學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。新手的話推薦使用vim,這也是我目前使用的文本編輯器。 2、學會makefile文件的編寫規則,並結合使用工具aclocal、autoconf和automake生成makefile文件。 3、掌握gcc和gdb的基本用法。掌握gcc的用法對於構建一個軟體包很有益處,當軟體包包含的文件比較多的時候,你還能用gcc把它手動編譯出來,你就會對軟體包中各個文件間的依賴關系有一個清晰的了解。 4、掌握svn/cvs的基本用法。這是linux,也是開源社區最常用的版本管理系統。可以去試著參加sourceforge上的一些開源項目。 二、linux/unix系統調用與標准C庫 系統調用應用軟體與操作系統的介面,其重要性自然不用說,一定要掌握。推薦學習資料為steven先生的UNIX環境高級編程(簡稱APUE)。 三、庫的學習 無論是在哪個平台做軟體開發,對於庫的學習都很重要,linux下的開發庫很多,我主要介紹一下我常常用到的一些庫。 1、glib庫 glib 庫是gtk+和gnome的基礎庫,並具是跨平台的,在linux、unix和windows下都可以用。glib庫對於linux平台開發的影響就像 MFC對windows平台開發的影響一樣,很多開源項目都大量的使用了glib庫,包括gimp、gnome、gaim、evolution和 linux下的集群軟體heartbeat.因為glib庫自帶有基本的數據結構實現,所以在學習glib庫的時候可以順便學習一下基本的數據結構(包括鏈表、樹、隊列和hash表)。 2、libxml庫 libxml是linux平台下解析XML文件的一個基礎庫,現在很多實用軟體都用XML格式的配置文件,所以也有必要學習一下。 3、readline庫 readline 庫是bash shell用的庫,如果要開發命令行程序,那麼使用readline庫可以減少很多工作量,比如bash里的命令行自動補全,在readline里就已經有實現,當然你也可以用自己的實現替代庫的行為。readline庫有很多網站介紹的,只要google一下readline就可以找到一堆了。 4、curses庫 curses 庫以前是vi程序的一部分,後來從vi里提取出來成為一個獨立的庫。curses庫對於編寫終端相關的程序特別有用,比如要在終端某一行某一列定位輸出,改變終端字體的顏色和終端模式。linux下的curses庫用的是GNU實現的ncurses(new curses的意思)。 5、gtk+和KDE庫 這兩個庫是開發GUI應用程序的基礎庫,現在linux下的大部份GUI程序都是基於這兩個庫開發的,對於它們 的學習也是很有必要的。 四、網路的學習
㈡ 想在LINUX下學習C語言,該如何開始
window,linux C都是一樣的,如果不用系統函數,主要在於環境,工具的使用,windows用vs2010這種,點一個按鈕編譯,linux一般都自己gcc編譯,熟悉linux常用命令,vi,emacs等編輯器,代碼還是 一樣寫,多用幾次就熟悉了。
㈢ 為什麼要在Linux平台上學C語言
學習Linux + C的原因是:目前在嵌入式系統開發中用的操作系統是Linux(或移植的簡易Linux),所以要學Linux下的C語言開發。Windows操作系統太大,不便於移植,所以不用Windows操作系統。
以下內容摘自《Linux C編程一站式學習》的前言:為什麼要在Linux平台上學C語言?用Windows學C語言不好嗎?用Windows還真的是學不好C語言。C語言是一種面向底層的編程語言,要寫好C程序,必須對操作系統的工作原理非常清楚,因為操作系統也是用C寫的,我們用C寫應用程序直接使用操作系統提供的介面。Linux是一種開源的操作系統,你有任何疑問都可以從源代碼和文檔中找到答案,即使你看不懂源代碼,也找不到文檔,也很容易找個高手教你,各種郵件列表、新聞組和論壇上從來都不缺樂於助人的高手;而Windows是一種封閉的操作系統,除了微軟的員工別人都看不到它的源代碼,只能通過文檔去猜測它的工作原理,更糟糕的是,微軟向來喜歡藏著揶著,好用的功能留著自己用,而不會寫到文檔里公開。