linux 開發(fā)的五大必備工具 linux是工具軟件嗎?
linux是工具軟件嗎?Linux是操作系統(tǒng),和我們正確電腦的windows系統(tǒng),macos系統(tǒng)完全不一樣,是人和電腦(機(jī)器)交互和窗口。僅有區(qū)別是Linux是一個開源的,無圖形化界面的操作系統(tǒng),多另
linux是工具軟件嗎?
Linux是操作系統(tǒng),和我們正確電腦的windows系統(tǒng),macos系統(tǒng)完全不一樣,是人和電腦(機(jī)器)交互和窗口。僅有區(qū)別是Linux是一個開源的,無圖形化界面的操作系統(tǒng),多另外服務(wù)器的操作系統(tǒng)不使用。
Linux系統(tǒng)下的C語言開發(fā)都需要學(xué)些什么?
一、工具的使用
1、要會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不單要能學(xué)會用它們編輯源碼,的要要會用它們進(jìn)行里查、定位、替換等。新手的話幫我推薦使用vim,這也是我目前使用的文本編輯器。
2、能學(xué)會makefile文件的c語言程序規(guī)則,并特點(diǎn)在用工具aclocal、autoconf和automake生成makefile文件。
3、完全掌握gcc和gdb的基本是用法。能夠掌握gcc的用法對此構(gòu)建體系一個軟件包很有益處,當(dāng)軟件包乾坤二卦的文件也很多的時候,你也能用gcc把它不自動編譯器出來,你就會對軟件包中各個文件間的依賴關(guān)系有一個清晰的了解。
4、掌握到svn/cvs的基本用法。這是linux,也開源社區(qū)最常用的版本管理系統(tǒng)。是可以去試著可以參加sourceforge上的一些開源項目。
二、linux/unix系統(tǒng)調(diào)用與標(biāo)準(zhǔn)C庫
函數(shù)調(diào)用應(yīng)用軟件與操作系統(tǒng)的接口,其重要性恐怕用不著說,要先掌握到。推薦推薦學(xué)習(xí)資料為steven先生的UNIX環(huán)境初級編程(是由APUE)。
三、庫的學(xué)習(xí)
畢竟在哪個平臺做軟件開發(fā),相對于庫的學(xué)習(xí)都很重要的是,linux下的開發(fā)庫很多,我通常介紹幫一下忙我動不動愛用到的一些庫。
1、glib庫glib庫是gtk和gnome的基礎(chǔ)庫,并具是跨平臺的,在linux、unix和windows下都可以用。glib庫對于linu臺開發(fā)的影響竟像MFC對windows平臺開發(fā)的影響一樣,很多開源項目都大量的在用了glib庫,以及gimp、gnome、gaim、evolution和linux下的集群軟件heartbeat。畢竟glib庫光盤驅(qū)動有基本是的數(shù)據(jù)結(jié)構(gòu)利用,因為在學(xué)習(xí)glib庫的時候也可以順道兒自學(xué)再看看基本是的數(shù)據(jù)結(jié)構(gòu)(除了鏈表、樹、隊列和hash表)。
2、libxml庫
libxml是linu臺下電學(xué)計算XML文件的一個基礎(chǔ)庫,現(xiàn)在很多實用軟件都用XML格式的配置文件,因此也有必要去學(xué)習(xí)看看。
3、readline庫
readline庫是bashshell用的庫,假如要旗下命令行程序,那么可以使用readline庫這個可以會減少很多工作量,比如bash里的命令行語法高亮,在readline里就已經(jīng)有實現(xiàn),當(dāng)然你也可以不用自己的實現(xiàn)其它的東西庫的行為。readline庫有很多網(wǎng)站詳細(xì)介紹的,如果google幫一下忙readline就是可以可以找到一堆了。
4、curses庫
curses庫以前是vi程序的一部分,后來從vi里提取出曾經(jīng)的一個相當(dāng)于的庫。curses庫這對匯編語言終端相關(guān)的程序特別沒有用,例如要在終端某一行某一列定位輸出,變化終端字體的顏色和終端模式。linux下的curses庫得用是GNU實現(xiàn)方法的ncurses(funcurses的意思)。
5、gtk和KDE庫
這兩個庫是的新GUI應(yīng)用程序的基礎(chǔ)庫,現(xiàn)在linux下的大部份GUI程序是設(shè)計和實現(xiàn)這兩個庫開發(fā)完畢的,這對它們的學(xué)習(xí)也是很有的。
四、網(wǎng)絡(luò)的學(xué)習(xí)
網(wǎng)絡(luò)這個東西太寬了,推薦一下學(xué)習(xí)資料steven先生的UNIX網(wǎng)絡(luò)編程(國家建筑材料工業(yè)局UNP)和TCP/IP協(xié)議詳細(xì)解析,更一系列的話這個可以自學(xué)在用libnet編譯程序網(wǎng)絡(luò)程序。