① 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主要應用在哪些方面
具體應用如下:
1、虛擬化:從桌面虛擬化到雲,現在又回到桌面虛擬化,VMware是第一家也是最好的虛擬化產品公司,其主要產品也是基礎,而Linux是非常有力的競爭對手。
2、資料庫伺服器:Oracle和IBM都在Linux上運行企業軟體,因為他們在Linux上運行良好,而且Linux消耗資源很少,不會與數據競爭資源。
3、應用伺服器:Tomcat、Geronimo、WebSphere和Weblogic都是java應用伺服器,而Linux為這些服務提供了一個穩定、佔用內存和長時間運行的平台。
4、日誌伺服器:Linux是處理和存儲日誌文件的優秀平台,雖然聽起來是一個低級的任務,但是它的低成本、低硬體要求和高性能是任何需要日誌服務人的首選平台。
5、開發平台:Linux下有很多開發工具,比如說eclipse、C、C++、mono、python、Perl、PHP等,Linux是最流行的開發平台。
6、監控服務:如果您想進行網路監控或者系統性能監控,Linux是一個非常不錯的選擇
③ 怎麼在linux上用C語言編程,用什麼軟體
編譯器使用g++
編輯器使用VI, Emacs
自動化工具使用automake 和Makefile
IDE使用Eclipse, Qt, KDevelop等。
④ Linux下做C語言開發,有哪些好用的工具,召喚最佳答案
Linux下的主要的C語言編譯器
1. GCC
大名鼎鼎的GNU的嫌納C/C++/Obj-C編譯器, 當前版本是2.8.1, 但據說與2.7.*有兼容性
問題. 而使用較廣的是gcc 2.7.2系列, 如RedHat5中帶的就是gcc 2.7.2.3
有時候在Cyrix上用gcc會有些問題, 因此有一套針對Cyrix特點的gcc 2.7.2.3
我這里有RedHat5的rpms ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib
(Cyrix 2.7.2.3 & 2.8.1)
其基本結構就是一個front end和back end,
/usr/bin/gcc 就是個front end, 其kernel東西都放在 /usr/lib/gcc-lib下面,
cpp是C預處理器, cc1*的1M多的就是編譯器的核心模塊了
cc1 C compiler
cc1plus C++ compiler
cc1obj Object-C compiler
但gcc並沒有集成Fortran的compiler, 一般要用f2c轉成C後才用gcc編譯
好象也還有個g77 Fortran compiler吧?
gcc的不斷發展完善使許多commercial compiler都相形見絀, 那當然, gcc/emacs
都由GNU創始人Richard Stallman手創, 是GNU的旗艦產品, 質量當然沒得說了:-)
由於 Unix平台的高度可移植性, gcc幾乎在各種常見的Unix平台上都有, 即使是
Win32/DOS也有gcc的port. 比如說該死的Solaris普通版本連compiler都沒有, 也
就只好用gcc了...
2. EGCS(Experimental/Enhanced GNU Compiler System)
這是gcc的發展方向, 把fortran等編譯器集成進來, 也許還會有Pascal?
它的構造很清晰, 把對gcc的各種改進/port都集成回去. 如gcc 2.7系列據說是
沒有對Pentium進行優化的, 而egcs則把pgcc對Pentium的一些優化集成進去了
現在gcc的開發工作主要就是egcs, 由Cygnus公司領導(?), 這Cygnus公司還是很
不錯的, 還出了GNU-Win32, SourceNavigator等, 是GNU的堅實擁護者:-))
http://egcs.cygnus.com/
包括了C/C++/Obj-C/Fortran 編譯器, 當前最新版本1.0.2, 還在不斷開發中
昨天download發現KDE Beta4都用egcs編譯了 :-)
Fortran集成進來後在/usr/lib/gcc-lib下又多了個f771的back end, 當然
還是g77/f77 編譯
我這里有egcs 1.0.2 的rpm 在RH5-CD/collect下面
3. PGCC(Pentium GCC)
http://www.gcc.ml.org/
針對Pentium CPU進行了編譯器優化的compiler
pgcc據說用JPEG壓縮解壓縮測試最快可比gcc快 30%!
新版的明派pgcc都是基於egcs的, 以一個patch的形芹槐沒式release
嗨!真是的……
⑤ linux系統下用什麼開發工具進行C,C++,編程
linux一般不用集成開發黃靜,像windows下的vs devc++ 等集成開發工具猛州弊
相對於windows,linux編輯器 編跡纖譯器等是獨立的,所以可以先用vim編枝族輯器 寫出c c++ java等代碼 然後通過gcc g++分別對c文件和cpp文件進行編譯,這樣就可以編譯成 可執行文件,或者動態鏈接庫 等等
所以linux開發大多數是用命令來執行操作的,也就是linux都是命令