linux环境下c编程指南 pdf(Linux环境下C编程指南)
在linux里,c程序的編輯、編譯、調(diào)試的詳細(xì)步驟是什么?
在linux下,一般的c程序開發(fā)流程為:c程序的編輯:一般情況下,簡單的c程序編輯是通過vi文本編輯器進(jìn)行的,語法格式和在windows下的編輯是一樣的;
c程序的編譯:而編譯則是對編輯好的c語言程序進(jìn)行一個(gè),預(yù)處理,編輯,匯編和鏈接的過程,一般格式為: 編譯器名-參數(shù)目標(biāo)文件名源文件名;一般工作在命令行模式;
c程序的調(diào)試:調(diào)試階段則是建立在c程序編譯通過的情況下進(jìn)行的,一般通過GDB調(diào)試進(jìn)行,逐步排錯(cuò)和細(xì)節(jié)查看。
linux下C開發(fā)用什么開發(fā)工具?
linux一般不用集成開發(fā)黃靜,像windows下的vsdevc++等集成開發(fā)工具
相對于windows,linux編輯器編譯器等是獨(dú)立的,所以可以先用vim編輯器寫出cc++java等代碼然后通過gccg++分別對c文件和cpp文件進(jìn)行編譯,這樣就可以編譯成可執(zhí)行文件,或者動態(tài)鏈接庫等等
所以linux開發(fā)大多數(shù)是用命令來執(zhí)行操作的,也就是linux都是命令
Linux系統(tǒng)下的C語言開發(fā)都需要學(xué)些什么?
一、工具的使用
1、學(xué)會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學(xué)會用它們編輯源碼,還要學(xué)會用它們進(jìn)行查找、定位、替換等。新手的話推薦使用vim,這也是我目前使用的文本編輯器。
2、學(xué)會makefile文件的編寫規(guī)則,并結(jié)合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用法。掌握gcc的用法對于構(gòu)建一個(gè)軟件包很有益處,當(dāng)軟件包包含的文件比較多的時(shí)候,你還能用gcc把它手動編譯出來,你就會對軟件包中各個(gè)文件間的依賴關(guān)系有一個(gè)清晰的了解。
4、掌握svn/cvs的基本用法。這是linux,也是開源社區(qū)最常用的版本管理系統(tǒng)。可以去試著參加sourceforge上的一些開源項(xiàng)目。
二、linux/unix系統(tǒng)調(diào)用與標(biāo)準(zhǔn)C庫
系統(tǒng)調(diào)用應(yīng)用軟件與操作系統(tǒng)的接口,其重要性自然不用說,一定要掌握。推薦學(xué)習(xí)資料為steven先生的UNIX環(huán)境高級編程(簡稱APUE)。
三、庫的學(xué)習(xí)
無論是在哪個(gè)平臺做軟件開發(fā),對于庫的學(xué)習(xí)都很重要,linux下的開發(fā)庫很多,我主要介紹一下我常常用到的一些庫。
1、glib庫glib 庫是gtk+和gnome的基礎(chǔ)庫,并具是跨平臺的,在linux、unix和windows下都可以用。glib庫對于linux平臺開發(fā)的影響就像 MFC對windows平臺開發(fā)的影響一樣,很多開源項(xiàng)目都大量的使用了glib庫,包括gimp、gnome、gaim、evolution和 linux下的集群軟件heartbeat。因?yàn)間lib庫自帶有基本的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),所以在學(xué)習(xí)glib庫的時(shí)候可以順便學(xué)習(xí)一下基本的數(shù)據(jù)結(jié)構(gòu)(包括鏈表、樹、隊(duì)列和hash表)。
2、libxml庫
libxml是linux平臺下解析XML文件的一個(gè)基礎(chǔ)庫,現(xiàn)在很多實(shí)用軟件都用XML格式的配置文件,所以也有必要學(xué)習(xí)一下。
3、readline庫
readline 庫是bash shell用的庫,如果要開發(fā)命令行程序,那么使用readline庫可以減少很多工作量,比如bash里的命令行自動補(bǔ)全,在readline里就已經(jīng)有實(shí)現(xiàn),當(dāng)然你也可以用自己的實(shí)現(xiàn)替代庫的行為。readline庫有很多網(wǎng)站介紹的,只要google一下readline就可以找到一堆了。
4、curses庫
curses 庫以前是vi程序的一部分,后來從vi里提取出來成為一個(gè)獨(dú)立的庫。curses庫對于編寫終端相關(guān)的程序特別有用,比如要在終端某一行某一列定位輸出,改變終端字體的顏色和終端模式。linux下的curses庫用的是GNU實(shí)現(xiàn)的ncurses(new curses的意思)。
5、gtk+和KDE庫
這兩個(gè)庫是開發(fā)GUI應(yīng)用程序的基礎(chǔ)庫,現(xiàn)在linux下的大部份GUI程序都是基于這兩個(gè)庫開發(fā)的,對于它們 的學(xué)習(xí)也是很有必要的。
四、網(wǎng)絡(luò)的學(xué)習(xí)
網(wǎng)絡(luò)這個(gè)東西太寬了,推薦學(xué)習(xí)資料steven先生的UNIX網(wǎng)絡(luò)編程(簡稱UNP)和TCP/IP協(xié)議詳解,更進(jìn)一步的話可以學(xué)習(xí)使用libnet編寫網(wǎng)絡(luò)程序。
總結(jié)
以上是生活随笔為你收集整理的linux环境下c编程指南 pdf(Linux环境下C编程指南)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 备案服务号购买流程(备案服务号购买)
- 下一篇: 防ddos攻击的服务器(服务器防ddos