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程序都是基於這兩個庫開發的,對於它們 的學習也是很有必要的。 

  四、網絡的學習 

   網絡這個東西太寬了,推薦學習資料steven先生的UNIX網絡編程(簡稱UNP)和TCP/IP協議詳解,更進一步的話可以學習使用libnet編 寫網絡程序。 

 待續.......

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章