Linux操作系統下C語言編程的注意事項

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編寫網絡程序。
 

發佈了50 篇原創文章 · 獲贊 6 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章