Linux下應用軟件的開發
要學習在Linux下應用軟件的開發,首先我們必須先了解什么是linnux,什么是應用軟件,linux到底有那些優勢,我們為什么要用lonux來進行應用程序的開發。
Linux是一種自由和開放源碼的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。它主要用于基于Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟件的版權制約的、全世界都能自由使用的Unix兼容產品。
Linux以它的高效性和靈活性著稱,Linux模塊化的設計結構,使得它既能在價格昂貴的工作站上運行,也能夠在廉價的PC機上實現全部的Unix特性,具有多任務、多用戶的能力。Linux是在GNU公共許可權限下免費獲得的,是一個符合POSIX標準的操作系統。Linux操作系統軟件包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟件。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行操作。
應用軟件:就是為用戶完成某項特定任務而設計的軟件。它被開發運行于操作系統之上的計算機程序。
Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟件都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬件和軟件設備、操作系統、進程等等對于操作系統內核而言,都被視為擁有各自特性或類型的文件。 Linux它是完全免費的,完全兼容POSIX 1.0標準,多用戶、多任務,良好的界面,豐富的網絡功能,可靠的安全、穩定性能, 支持多種平臺。Linux常常被應用于嵌入式系統,例如機頂盒、移動電話及移動裝置等。在移動電話上,Linux已經成為Symbian OS的主要競爭者;而在移動裝置上,則成為Windows CE與Palm OS外之另一個選擇。
多用戶多任務:我們可以在Linux上同時執行多個程序(多任務),而且允許多個用戶使用同一臺計算機,或接受多個用戶通過網絡聯機到計算機執行軟件(多用戶),這些都是一個成熟的操作系統所應具備的特點。
穩定的執行性能:因為Linux的內核源代碼是根據32位計算機來做最優化設計的,所以可確保其穩定的執行性能。除此之外,它支持多線程的功能,可以在一個程序的內存空間中執行多個線程,以提高硬件資源的利用率。
跨平臺操作:由于Linux的系統內核只有低于10%的源代碼采用匯編語言來編寫,其余都以C語言來完成,因此平臺的移植性高。Linux目前可以執行的平臺有很多,并不只限于Intel計算機,而且可以使用多個處理器來執行服務器的工作,這更增加了Linux在系統或服務器管理上的能力。
兼容其他UNIX系統:因為同樣遵循POSIX(Portable Operating System for UNIX)標準來開發,所以Linux與現今的System V以及BSD等主UNIX系統均可兼容,而原本在UNIX系統下可以執行的程序,也幾乎可以完全移植到Linux上。
注意:POSIX是一組OSI與IEEE的規范,主要用來定義程序與操作系統之間的界面,使符合規范的程序能在所有符合規范的操作系統上執行。
支持多種文件系統:Linux可以將許多不同的文件系統以掛載的方式來加入,例如Windows中的FAT 16/32、NTFS,OS/2的HPFS,甚至網絡上其他計算機所共享的文件系統—NFS,都是Linux支持的文件系統。
絕佳的內存管理:Linux會將未使用的內存區塊作為緩沖區(Buff e r ), 以加速程序的執行。另外,系統采取內存保護模式來執行程序,以避免因一個程序執行失敗,而影響整個操作系統的運行。
圖形用戶界面:其實圖形界面并非是微軟的專利,目前許多操作系統都一致采用圖形界面以方便用戶的操作,而Linux也不例外。在Linux上可采用多種圖形管理程序,來改變不同的桌面圖案或功能菜單以及KDE,這點是Windows操作系統單一界面所望塵莫及的。
完善的網絡功能:與UNIX系統一樣,Linux使用TCP/IP作為默認的網絡通信協議。除此之外,它還內置了許多服務器級的軟件,例如Apache(Web服務器)、Sendmail(郵件服務器)、VSFTP(FTP服務器)或Squid(代理服務器)等,。所以我們不需額外購買其他軟件,即可直接利用Linux來擔任全方位的網絡服務器。
完善的網絡功能:與UNIX系統一樣,Linux使用TCP/IP作為默認的網絡通信協議。除此之外,它還內置了許多服務器級的軟件,例如Apache(Web服務器)、Sendmail(郵件服務器)、VSFTP(FTP服務器)或Squid(代理服務器)等,如圖1-3所示。所以您不需額外購買其他軟件,即可直接利用Linux來擔任全方位的網絡服務器。
Linux的主流版本很多,有ubuntu,Linux Mint,Fedora Core,openSUSE,Debian, Slackware Linux,Red Hat,我們所用的就是Ubuntu,Ubuntu 是一個完全開源的,構建在Linux內核之上的操作系統。而且他的軟件應可免費取得,軟件工具在各種語言環境下皆可使用,且不會有任何功能上的差異;人們應有定制和修改軟件的自由,且方式不受限制,只要他們自認為合適。當然我們必須首先熟悉linux環境中的一些常用的命令,比如打開終端(Ctrl+Alt+T),也就是我們編輯代碼的界面,vim編輯框命令的使用,代碼的修改及保存。直到預處理,調試,鏈接,執行。這些東西都是我們必須要掌握的。其中最為重要的當然就是調試了,當我們正在為錯誤的代碼而抓耳撓腮時,調試工具(GDB)就是你我們最好的幫手,他能準確的定位出我們錯誤的根源。
所以當我們需要開發一個應用軟件時,我必須先先熟悉它的開發環境,以及它的應用環境,在能夠熟練的掌握了它的開發環境之后,我們才能夠靈活的運用它,才能做到事半功倍。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















