如何在WINDOWS下運行UNIX程序和GNU程序

如何在WINDOWS下運行UNIX程序和GNU程序
1 引言

今天程序開發人員面臨的最大問題就是如何使他們的應用程序支持各種不同的平臺,如何使用戶能夠在不同的平臺下不作任 何修改地就能使用他們的應用程序。衆所周知,Linux 操作系統和其它基於 UNIX 的操作系統一直是國際上使用廣泛又非常重要的 OS。但在中國,微軟的 Windows OS 卻佔領着巨大市場,如 Windows95/98、Windows2000、Windows me 等 OS。那麼,基於 Windows OS 工作的程序開發人員在實際工作中,能否重新利用其它 OS 上的那些免費的代碼資源呢?例如像 Linux 那樣優秀而自由的豐富代碼源。本文針對這個問題,提出了兩種在 Windows OS 下如何運行 UNIX 程序和 GNU 程序的途徑,以避免開發人員在工作中重複開發,以提高工作效率。

2 在 WINDOWS 下運行 UNIX 程序的工具——Cygwin
UNIX 自 20 世紀八十年代就已經成爲學術界和研究機構所採用的主要操作系統,並開始擴展到商業界,當時就連大名鼎鼎的 IBM PC 都可跑 UNIX。

2.1 什麼是 Cygwin?

Cygwin 是 Cygwin 公司(http://cygwin.com/)的產品,它提供了 Windows 操作系統下的一個 UNIX 環境,它可以幫助程序開發人員把應用程序從 UNIX/Linux 移植到 Windows 平臺,是一個功能強大的工具集。

Cygwin 由兩部分組成:

(1)cygwin1.dll:它作爲 UNIX 的一個仿真層,提供 UNIX API 功能;

(2) 一組工具:它的功能是負責創建一個 UNIX 或 Linux 的外觀界面。Cygwin 動態鏈接庫,即 cygwin1.dll 可以在 Windows CE 以外,Windows 95 以上的所有非 beta 版本的 Windows OS 下工作,如 Windows 98,Windows 2000 等。目前該軟件的最新版本的 Cygwin 是 1.1.x 或 1.3.x.可以從 cygwin 公司的網站上直接下載(http://cygwin.com/setup.exe

2.2 Cygwin 的功能

網 絡管理人員通過 Cygwin 可以很容易地遠程登錄到任何一臺 PC 機,在 UNIX/Linux 外殼(shell)下解決問題。在任何一臺 Windows OS 計算機上運行外殼(shell)腳本命令。高級外殼腳本命令可以用標準 shell、sed 和 awk 等創建。標準 Windows 命令行工具甚至可以與 UNIX/Linux 外殼腳本環境共同管理 Windows 操作系統。

2.3 安裝 Cywin

我們以 Cygwin Net Release Setup.exe Version 2.125.2.10 爲例(http://sources.redhat.com/cygwin

1) 雙擊“setup.exe”圖標;

2) “Next”進行下一步;

3) 選擇安裝途徑: 由 Internet 安裝;
從Internet上先下載;
由本地目錄下安裝;

4) 我們選擇從 Internet 上直接安裝;

5) 選擇安裝的根目錄,默認目錄爲:C:/cygwin;當然,也可修改爲C:/Program Files/Cygwin

6) 缺省的文本文件類型爲 Unix,安裝所有文件。

7) 按“Next”進行下一步,安裝路徑中一般不包括空格,安裝文件位置:C:/Documents and Settings/lingli/ 桌面

8) Internet 連接方式,直接連接;使用 IE5 設置;使用 HTTP/FTP 代理。

9) 選擇下載站點:ftp/http://cygwin.lirex.net

10) Downloading setup.ini connecting.

3 在 WINDOWS 下運行 GNU 程序的工具——MinGW

在 介紹 MinGW 之前,有必要先介紹一下 GNU,拼讀時 G 是不發音的。在字典中的含義是非洲大羚羊,我們可以常常看到非常個性化的羊頭,想必很多人已經非常熟悉。象徵 GNU 那種追求自由的精神,GNU 其實是 Gnu'sNotUnix 的縮寫,它表示 GNU 系統與 Unix 不同,但是它是與 UNIX 兼容的一個軟件系統。由 Richard Stallman 創建,於 1984 年開始逐漸累積系統構件,於 1996 年發佈"完整 GNU 系統"的第一個測試版本。與 UNIX 不同的是,GNU 不需要購買,所有需要它的人都可以免費獲得,這也是設計者的初衷,自由軟件拷貝,自由軟件共享。

3.1 什麼是 MinGW?

MinGW,即 Minimalist GNU For Windows。它是一些頭文件和端口庫的集合,該集合允許人們在沒有第三方動態鏈接庫的情況下使用 GCC(GNU Compiler C)產生 Windows32 程序。
在 基本層,MinGW 是一組包含文件和端口庫,其功能是允許控制檯模式的程序使用微軟的標準C運行時間庫(MSVCRT.DLL),該庫在所有的 NT OS 上有效,在所有的 Windows 95 發行版以上的 Windows OS 有效,使用基本運行時間,你可以使用 GCC 寫控制檯模式的符合美國標準化組織(ANSI)程序,可以使用微軟提供的 C 運行時間擴展。該功能是 Windows32 API 不具備的。下一個組成部分是 w32api 包,它是一組可以使用 Windows32 API 的包含文件和端口庫。與基本運行時間相結合,就可以有充分的權利既使用 CRT(C Runtime)又使用 Windows32 API 功能。

4 結論

本 文討論瞭如何在 WINDOWS 下重複利用 UNIX 代碼程序和 GNU 代碼程序的問題,提出了兩種在 Windows OS 下如何運行 UNIX 程序和 GNU 程序的途徑。這意味着,基於 Windows OS 工作的程序開發人員在實際工作中,將能重複利用其它OS上的那些免費而豐富的代碼源。避免開發人員在工作中重複開發,提高了工作效率。
參考資料:http://www.23server.cn/server/14/2007/09/17/200709175483.html
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章