
【基本介紹】
Cygwin是一個在windows平臺上運行的類UNIX模擬環(huán)境,是cygnus solutions公司開發(fā)的自由軟件(該公司開發(fā)的著名工具還有eCos,不過現(xiàn)已被Redhat收購)。它對于學(xué)習UNIX/Linux操作環(huán)境,或者從UNIX到Windows的應(yīng)用程序移植,或者進行某些特殊的開發(fā)工作,尤其是使用GNU工具集在Windows上進行嵌入式系統(tǒng)開發(fā),非常有用。隨著嵌入式系統(tǒng)開發(fā)在國內(nèi)日漸流行,越來越多的開發(fā)者對Cygwin產(chǎn)生了興趣。Cygwin 提供一個UNIX 模擬 DLL 以及在其上層構(gòu)建的多種可以在 Linux 系統(tǒng)中找到的軟件包,在 Windows XP SP3 以上的版本提供良好的支持。Cygwin主要由Red Hat及其下屬社區(qū)負責維護。
【軟件組成】
Cygwin包括了一套庫,該庫在Win32系統(tǒng)下實現(xiàn)了POSIX系統(tǒng)調(diào)用的API;還有一套GNU開發(fā)工具集(比如GCC、GDB),這樣可以進行簡單的軟件開發(fā);還有一些UNIX系統(tǒng)下的常見程序。2001年,新增了X Window System。另外還有一個名為MinGW的庫,可以跟Windows本地的MSVCRT庫(Windows API)一起工作。MinGW占用內(nèi)存、硬盤空間都比較少,能夠鏈接到任意軟件,但它對POSIX規(guī)范的實現(xiàn)沒有Cygwin庫完備。
但糟糕的是,Cygwin不支持Unicode。實際上,除了當前Windows系統(tǒng)以及OEM codepages(例如,一個俄語用戶,他的代碼頁是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin對其他字符集都不支持。Cygwin 的較新版本可以通過自帶終端模擬器的設(shè)置來滿足顯示 UTF-8 和更多代碼頁的功能。
Red Hat 規(guī)定,Cygwin 庫遵守 GNU General Public License,但也可以跟符合開源定義的自由軟件鏈接。Red Hat 另有價格不菲的許可協(xié)議,這樣使用 Cygwin 庫的專屬軟件,就可以進行再發(fā)布。
【軟件特點】
1、Cygwin給用戶帶來更加出色的unix體驗2、完美模擬unix系統(tǒng)的特性
3、Cygwin不干擾電腦主系統(tǒng)的運行
4、Cygwin可以直接調(diào)用unix的庫
5、可以在其中進行操作與開發(fā)
【軟件功能】
1.Cygwin具有可以調(diào)用Unix函數(shù)的Cygwin庫2.調(diào)用Mincrosofe Win32 API函數(shù)和Cygwin API函數(shù)來編寫應(yīng)用程序
3.可以和Unix程序有效地聯(lián)系起來而無需作太多的更改
4.Cygwin可以用來開發(fā)很多GNU軟件
5.Cygwin具有很多標準的Unix軟件包
【安裝方法】
cygwin安裝教程圖解運行安裝程序

安裝目錄別為中文名,以免出錯,接入網(wǎng)站如果不行,提示錯誤,那就重新來換一個接入網(wǎng)站

點擊【下一步】,

第一個選項是在線安裝,第二個選項是只下載不安裝(然后手動安裝),第三個指你已經(jīng)下載了安裝包,通過已經(jīng)下載的本地安裝包安裝,若是第一次安裝,選中第一個即可(默認),【下一步】

指定安裝目錄,下面的單選框默認即可,【下一步】

選擇下載的安裝包存放路徑,【下一步】

選擇連接方式,第一個(默認)即可,【下一步】

選擇一個鏡像站點,任選一個即可,按Ctrl鍵可選中多個,【下一步】

然后會從選中的鏡像站點中下載兩個文件,稍等即可,【下一步】

這一步很關(guān)鍵,選擇要下載和安裝的包,根據(jù)你的需要選擇包,選的包越多所需的下載時間越長,單擊【View】可以在分類、全部、已選之間循環(huán)切換,點擊每一類前面的加號可以展開,要選中每一個包,只需單擊每一行前邊像循環(huán)的那個圖標,會在版本號和Skip之間切換,選一個最新的版本號即可,下邊的那個復(fù)選框默認即可:

選好后【下一步】下圖,會顯示你選擇的安裝包:

單擊下一步開始安裝,最后會讓你讓你選擇是否生成快捷方式,然后OK了!
以后要安裝新的安裝包,或是更新,還是通過這個過程,運行setup.exe選擇安裝包即可。
【使用教程】
cygwin中vim編輯器輸入打開cygwin,通過cd命令進入想要保存程序文件的目錄。比如在d盤,就cd d:可以進入d盤,然后cd workspace就進入了workspace目錄,當然這個目錄我們提前在windows下新建好。

如果查看當前目錄下的文件,我么輸入ls命令就可以了。如果要編輯現(xiàn)有文件,vim 現(xiàn)有文件名。這里我們新建一個C程序,使用vim new.c新建一個new的c程序。

回車后進入vim的編輯界面。vim有兩種模式,命令模式和插入模式。在命令模式下,所有的輸入都算是命令,如果是胡亂敲打的鍵盤,就會聲音提示。如果在插入模式下,所有的輸入都會顯示出來。默認剛開始進入的是命令模式

敲打字符‘’i‘’,就進入了插入模式。我們可以輸入自己的程序了。當想要退出到命令模式時,就按esc鍵。如果發(fā)現(xiàn)輸入錯誤了,就需要返回到命令模式,通過鍵盤上的h、j、k、l來上下左右移動光標,將其移動到需要修改的字符位置。

當需要插入字符時,同樣先在命令模式下將光標移動到合適的字符位置,然后進行插入。切換到插入模式,可以按字母i,也可以按字母a,字母i為在光標前插入,a為光標后插入。

當完成程序的編輯后,就可以保存退出了。首先按鍵esc進入命令模式,然后使用冒號加命令字符。我們用“:wq”就可以了。wq在這里是保存退出?!埃簈”是不保存退出。還有許多其他的命令,輔助操作讓vim更簡單,但慢慢去熟悉吧。
退出后就能看到我們新建的C程序文件了。然后按照上一節(jié)的內(nèi)容開始編譯運行吧。


使用CYGWIN的gcc編譯hello world
打開CYGWIN軟件。

輸入vim命令,進入文本編輯界面

按鍵盤上的i鍵,進去編輯狀態(tài)。

編寫hello world程序
#include
int main(void)
{
printf("hello world");
}

編寫完成后,按Esc鍵后,再按:鍵,然后輸入save hello.c,進行保存你編寫的程序。

再按一下:鍵,輸入quit退出編輯文本狀態(tài)。

然后輸入gcc hello.c -o hello,回車

輸入ls顯示文件,你會看到文件下面多了一個hello.exe,這就是編譯后的結(jié)果。

輸入./hello,執(zhí)行編寫好的程序。

【卸載方法】
1、找到setup-x86.exe安裝包,雙擊運行,到安裝界面.默認選項,下一步.

2、到"Select Packages界面","Category " 選擇"Uninstall"點擊下一步.


3、等Cygwin卸載完成.點擊"確定"即可

【使用技巧】
使用Cygwin訪問windows的文件Cygwin安裝后,其根目錄位于你的安裝目錄下。所以使用cd/,只能訪問到你的安裝目錄,要訪問硬盤上的其他文件,可以使用mount:
mountD:/testdir~/testdir
這樣,你就可以在~/testdir里訪問到D:/testdir里的內(nèi)容了。
使用Cygwin作為X Server
現(xiàn)在的Linux服務(wù)器一般都提供X,要從Windows上使用Linux的X,需要在Windows上運行一個X Server。有一些專門為windows開發(fā)的軟件可以做這個,但是Cygwin自帶的X server就可以勝任。
下面舉例說明如何使用:
首先你必須安裝X11包,然后運行Cygwin shell,輸入x&。這時候你的桌面上出出現(xiàn)一個布滿斜紋大窗口,這就是我們的X server了,回頭Linux機器上的X 程序就會顯示在這里。
Windows使用SHELL腳本
將cygwin的BIN加入到PATH
在$CYGWIN的目錄/var/下面建一腳本t.sh,注意,t.sh里面的路徑,都是相對于$CYGWIN的,里面需要訪問C盤的,請用/cygdrive/c/
在Windows下執(zhí)行:
d:\cygwin\bin\bash d:\cygwin\var\t.sh
同步Windows系統(tǒng)用戶
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
如果有Domain的話,需要加上-d domainname
【相關(guān)問題】
cygwin不能正常啟動的問題與解決方法現(xiàn)象為在點擊cygwin.bat運行時,發(fā)現(xiàn)一個DOS窗口一閃而過,但沒有成功啟動Cygwin。
此時,您可以檢查cygwin 安裝目錄下的cygwin.bat文件,在windows的命令行提示符下運行它(即把cygwin.bat拖到cmd里,回車),看看出現(xiàn)什么錯誤信息。最大的可能是,您的機器以前裝過cygwin,但是沒有完全卸載。解決方法是:編輯注冊表,刪除HKEY_LOCAL_MACHINE->SOFTWARE->Cygnus Solutions->Cygwin,然后重新安裝Cygwin應(yīng)可解決該問題.
Cygwin中文亂碼的圖形界面解決方案
1、雙擊桌面上的Cygwin圖標,啟動Cygwin,在Cygwin窗口單擊右鍵,出現(xiàn)以下菜單。

2、選擇Option選項,然后進入如下界面。

3、選擇Text選項。

4、Locale選擇C,Character Set選擇GBK,其實是在選擇字符集。

5、點擊Apply按鈕進行應(yīng)用即可。




































