首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Cygwin 安裝與配置指南:Windows 上的類 Unix 環境

     編輯:關於C語言

什麼是 Cygwin?

Cygwin 是在 Windows 上提供**類 Unix 環境**的開源工具集,包含:

  • GCC/G++ 編譯器工具鏈
  • Bash shell 及核心工具
  • POSIX API 庫,支援大量 Linux 程式碼直接編譯運行
  • 套件管理器 (setup-x86_64.exe)

安裝步驟

1. 下載安裝程式

  • 官網:cygwin.com
  • 選擇 setup-x86_64.exe (64位) 或 setup-x86.exe (32位)

2. 執行安裝精靈

  1. 選擇「Install from Internet」
  2. 安裝目錄:建議 C:\cygwin64 (避免空格、中文路徑)
  3. 本地套件目錄:暫存下載的 .tar.xz
  4. 網路連接:預設「Direct Connection」
  5. 鏡像站:選擇地理最近的 (如 mirrors.aliyun.com, mirrors.tuna.tsinghua.edu.cn)

3. 選擇套件 (關鍵步驟)

在「Select Packages」頁面,搜尋並勾選 (點擊 Skip → 版本號):

提示:搜尋框輸入套件名,點擊「Skip」切換到具體版本號即選中。

4. 完成安裝

  • 等待下載安裝 (視網速與套件數,數分鐘到半小時)
  • 勾選「Create icon on Desktop」「Add to Start Menu」

環境配置

1. 添加到 Windows PATH

C:\cygwin64\bin

使 Windows CMD/PowerShell 可直接調用 gcc, bash, make。

2. Cygwin 內部 PATH

啟動 Cygwin Terminal,編輯 ~/.bashrc:

export PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
# 確保 /usr/bin (Cygwin 核心) 優先於 Windows 系統路徑

3. 編碼設置 (解決中文亂碼)

export LANG=zh_TW.UTF-8
export LC_ALL=zh_TW.UTF-8

4. 目錄映射

Cygwin 根目錄 / 對應 C:\cygwin64:

/home/username   → C:\cygwin64\home\username
/cygdrive/c      → C:\
/cygdrive/d      → D:\

常用開發工作流

編譯 C 程式

$ cd /cygdrive/d/projects/myapp
$ gcc -Wall -O2 -o hello hello.c
$ ./hello

使用 Makefile

$ make
$ make clean

Git 操作

$ git clone https://github.com/user/repo.git
$ git status
$ git commit -am "update"
$ git push

常見問題與解決

類別套件名用途
Develgcc-core, gcc-g++, gdb, make, cmake, binutilsC/C++ 編譯鏈
Develgit, subversion, mercurial版本控制
Editorsvim, nano, emacs文本編輯器
Shellsbash, zsh, fishShell 環境
Utilscoreutils, findutils, diffutils, grep, sed, gawk核心工具
Libslibncurses-devel, libreadline-devel, openssl-devel開發庫
Pythonpython3, python3-pipPython 3
Perlperl, perl-modulesPerl
問題解決方案
gcc: command not found未安裝 gcc-core 或 PATH 未生效,重開終端
Windows 路徑含空格導致編譯失敗避免空格路徑,或用引號包裹
fork() 失敗 / 記憶體不足重啟電腦;關閉防毒軟體;增加 swap
行尾符 ^M (CRLF) 導致腳本錯誤dos2unix script.sh 或 git config core.autocrlf input
權限拒絕chmod +x script.sh;檢查 Windows 防毒軟體攔截
中文顯示亂碼設置 LANG/LC_ALL;Terminal 字體選支援中文 (如 Microsoft YaHei)

Cygwin vs WSL2 vs MSYS2

特性CygwinWSL2MSYS2
架構DLL 轉譯層真實 Linux 核心 (VM)MinGW + Bash
效能中 (轉譯開銷)高 (原生)高 (原生 Windows 二進制)
Linux 相容性高 (POSIX 層)完美中 (針對 Windows 原生)
Windows 互操作原生 (同進程)需網路/9P 掛載原生
圖形界面X Server (VcXsrv)Wayland/X11 (WSLg)需額外配置
適用場景舊專案移植、跨平台構建現代 Linux 開發、DockerWindows 原生 CLI 工具開發

總結

Cygwin 是 Windows 上經典的類 Unix 環境,適合**舊代碼移植、跨平台構建腳本、輕量級開發**。現代新專案優先考慮 WSL2 (完整 Linux 體驗) 或 MSYS2 (原生 Windows 二進制)。掌握「套件選擇、PATH 管理、編碼設置、路徑映射」四大配置要點,能讓 Cygwin 穩定高效運行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved