Linux 下可用的編譯器有 GCC、EGCS 和 PGCC,其中最常用的編譯器便是 GCC。
GCC 起初是 GNU 推出的 C語言編
譯器,用於類 Unix 系統下的編程,所以名為 GNU C Compiler 。隨著眾多自由開發者的加入,GCC
發展迅速,如今已成為一個支持眾多語言的編譯器了,其中包括 C、C++、Ada、Object C 和 Java 等,以至於 GCC 開始被擴展為
GNU Compiler Collection ,也就是「GNU 編譯器集合」的意思。
GCC用法:
1、GCC基本用法及其選項
gcc 或 g++ 的用法跟參數含義幾乎一樣,他們最基本的用法是:
2、只編譯子程序(-c)
3、產生目標文件(-o)
4、附加調試信息(-g)
5、多文件編譯
6、連接庫文件。
⑵ 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下面的C開發一般用什麼IDE和調試工具
Linux C開發的IDE一般是codeblocks、eclipse-cdt比較好用;也可以自己搭建IDE:用Vim/emacs、gcc/g++、make;一些圖形界面的文本編輯器軟體也支持用插件搭建簡易的IDE,比如VScode(雖然是微軟開發的,但是有Linux版,而且還挺好用)。
調試工具當然是gdb,如果對於輸入命令的gdb用不習慣,也可以用圖形界面的ddd、Kdbg、Affinic GUI Debugger,它們不是取代gdb的東東,只不過是gdb的圖形前端,ddd、Kdbg和Affinic GUI Debugger都是調用gdb來工作的。說了這么多,其實Linux上的選擇比較多元,不像Windows那樣統一,選擇自己喜歡、自己順手的就可以了。
⑷ 在linux下用C語言做嵌入式開發 一般用什麼IDE開發工具
QT,也有用Eclipse的。
一般寫嵌入式的程序,都是用GCC,用GDB來調試。
若Linux是虛擬機,一般,我們可以用VC++作編輯器(代碼看起來比較清楚);
然後通過共享文件夾的方式連接該虛擬機;用gcc
命令編譯該代碼。