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

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

 
Linux操作系統下C語言編程注意事項
一、工具的使用1、學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。新手的話推薦使用vim,這也是我目前使用的文本編輯器。2、學會make...查看完整版>>Linux操作系統下C語言編程注意事項
 
Linux下C語言編程--時間概念
  1.時間表示  在程序當中,我們經常要輸出系統當前的時間,比如我們使用date命令的輸出結果.這個時候我們可以使用下面兩個函數:  #include  time_t time(time_t *tloc);  char *ctime(const time_t *clock)...查看完整版>>Linux下C語言編程--時間概念
 
C 語言編程基礎篇之linux版
本文的主旨是介紹如何在 Linux 下使用 C 編譯器和其他 C 編程工具, 而非 C 語言編程的教程. 在本文中你將學到以下知識: 什麽是 C GNU C 編譯器 用 gdb 來調試GCC應用程序 你也能看到隨 Linux 發行的其他有用的 C 編程...查看完整版>>C 語言編程基礎篇之linux版
 
Linux下C語言編程基礎(Makefile)
Linux下C語言編程基礎(Makefile)假設我們有下面這樣的一個程序,源代碼如下: /* main.c */ #include "mytool1.h" #include "mytool2.h" int main(int argc,char **argv) { mytool1_print(&quo...查看完整版>>Linux下C語言編程基礎(Makefile)
 
關于Java語言開發編程中JDBC的介紹
JDBC是一種可用于執行SQL語句的JavaAPI(ApplicationProgrammingInterface應用程序設計接口)。它由一些Java語言編寫的類和界面組成。JDBC爲數據庫應用開發人員、數據庫前台工具開發人員提供了一種標准的應用程序設計接...查看完整版>>關于Java語言開發編程中JDBC的介紹