以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- C語言開發 (http://www.hufushizhe.com/bbs/list.asp?boardid=62) ---- Linux系統下的C語言開發都需要學些什么 (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=62&id=2386) |
-- 作者:wangxinxin -- 發布時間:2010-12-10 9:49:02 -- Linux系統下的C語言開發都需要學些什么 一、工具的使用 4R]E4c9_-t0 E V{ I4_tJ.w0 1、學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。新手的話推薦使用vim,這也是我目前使用的文本編輯器。 IT我最牛-程序員的技術討論與分享園地cZP G7[GU} n IT我最牛-程序員的技術討論與分享園地LP\'FkE1ue p2、學會makefile文件的編寫規則,并結合使用工具aclocal、autoconf和automake生成makefile文件。 r!G ? [0| dG0L0j6J N9b&Uq0 3、掌握gcc和gdb的基本用法。掌握gcc的用法對于構建一個軟件包很有益處,當軟件包包含的文件比較多的時候,你還能用gcc把它手動編譯出來,你就會對軟件包中各個文件間的依賴關系有一個清晰的了解。 IT我最牛-程序員的技術討論與分享園地&~1WQZ"N Qen_ IT我最牛-程序員的技術討論與分享園地3|#V:@-b;t%c\\4、掌握svn/cvs的基本用法。這是linux,也是開源社區最常用的版本管理系統。可以去試著參加sourceforge上的一些開源項目。 f(V4}T~O0!g*nDa\\*pdt`_ Oe0 二、linux/unix系統調用與標準C庫 IT我最牛-程序員的技術討論與分享園地r A$sj8b+C /E_4e xI"P\'x0 系統調用應用軟件與操作系統的接口,其重要性自然不用說,一定要掌握。推薦學習資料為steven先生的UNIX環境高級編程(簡稱APUE)。 }M_3GB\'p:Q0IT我最牛-程序員的技術討論與分享園地wpWK4kkD&Ip三、庫的學習 IT我最牛-程序員的技術討論與分享園地Nmjz.@ []4b,Vs$mF`0 無論是在哪個平臺做軟件開發,對于庫的學習都很重要,linux下的開發庫很多,我主要介紹一下我常常用到的一些庫。 IT我最牛-程序員的技術討論與分享園地 H r"H` W IT我最牛-程序員的技術討論與分享園地;A2v`\'^5Zb1、glib庫 "MX-iuG\'w:b0H L/IQ+kz&u \\~8D0 glib 庫是gtk+和gnome的基礎庫,并具是跨平臺的,在linux、unix和windows下都可以用。glib庫對于linux平臺開發的影響就像 MFC對windows平臺開發的影響一樣,很多開源項目都大量的使用了glib庫,包括gimp、gnome、gaim、evolution和 linux下的集群軟件heartbeat。因為glib庫自帶有基本的數據結構實現,所以在學習glib庫的時候可以順便學習一下基本的數據結構(包括鏈表、樹、隊列和hash表)。 IT我最牛-程序員的技術討論與分享園地"?3w%X I_D-j"N~ ~e5Z )R/vZ,w U$o ]L0 2、libxml庫 IT我最牛-程序員的技術討論與分享園地u*t%k Xp@]0KA2cE7^ IT我最牛-程序員的技術討論與分享園地E$RdK)B7i.Q+i&_;E:flibxml是linux平臺下解析XML文件的一個基礎庫,現在很多實用軟件都用XML格式的配置文件,所以也有必要學習一下。 z+zYDk~0IT我最牛-程序員的技術討論與分享園地(|;d ~"c~g3、readline庫 IT我最牛-程序員的技術討論與分享園地(D|;NZ |W-KN ka\'{ rGp-|~0 readline 庫是bash shell用的庫,如果要開發命令行程序,那么使用readline庫可以減少很多工作量,比如bash里的命令行自動補全,在readline里就已經有實現,當然你也可以用自己的實現替代庫的行為。readline庫有很多網站介紹的,只要google一下readline就可以找到一堆了。 fS} bM-{3h0Q L i#`:p@DGSmP0 4、curses庫 IT我最牛-程序員的技術討論與分享園地4k]LL$[@E{ IT我最牛-程序員的技術討論與分享園地R8Z5l1L)Z!Ycurses 庫以前是vi程序的一部分,后來從vi里提取出來成為一個獨立的庫。curses庫對于編寫終端相關的程序特別有用,比如要在終端某一行某一列定位輸出,改變終端字體的顏色和終端模式。linux下的curses庫用的是GNU實現的ncurses(new curses的意思)。 %D a s/JY@)} S0IT我最牛-程序員的技術討論與分享園地.F L9|@uo rPE5、gtk+和KDE庫 W u4r i.BttSg+_0IT我最牛-程序員的技術討論與分享園地a7g/V F8H7j$h8l p這兩個庫是開發GUI應用程序的基礎庫,現在linux下的大部份GUI程序都是基于這兩個庫開發的,對于它們 的學習也是很有必要的。 _%p9M_|,xi.j X0IT我最牛-程序員的技術討論與分享園地MV0um$p(`Q/?四、網絡的學習 IT我最牛-程序員的技術討論與分享園地{ }r?0W*Bo;vw IT我最牛-程序員的技術討論與分享園地*b.GLX{i2w網絡這個東西太寬了,推薦學習資料steven先生的UNIX網絡編程(簡稱UNP)和TCP/IP協議詳解,更進一步的話可以學習使用libnet編寫網絡程序 |