D.1. Cygwin Kurulumu Ve Temel Kullanımı
Cygwin, Windows’ta POSIX standardına göre geliştirilmiş,
unix-benzeri bir ortam sağlayan kapsamlı bir GNU
ve diğer açık kaynak kod araçları derlemesidir. Cygwin’in temeli
cygwin1.dll
isimli paylaşılan kütüphanedir ve temel
Windows sistemiyle etkileşim kurarken Cygwin programlarına unix-benzeri
sistem fonksiyonları sağlar. Normalde, Cygwin GCC
ile derlenen programlar,
cygwin1.dll
çalışma zamanı kütüphanesini de gerektirir.
Cygwin kütüphanesi, bu programların beklediği unix sistem çağrılarını
ve ortamı sağlar. Bu şekilde, standart Microsoft Windows ve/veya Cygwin
Uygulama Programlama Arayüzünü kullanan Windows konsol veya
Grafiksel Kullanıcı Arayüzü uygulamaları yazmak mümkündür. Ayrıca,
bu sayede, kaynak kodda kapsamlı değişikliklere gerek kalmadan,
birçok önemli unix programını kolayca Cygwin ortamına taşımak mümkündür.
Böyle bir örnek de GNU C derleyicisinin bizzat kendisidir.
Cygwin kurulum programı olan setup-x86_64.exe
sadece 64 bitlik
Windows ortamlarını destekler ve
https://cygwin.com/ adresinden indirilir.
Bu program dosyasının her zaman en son çıkan uyarlamasını kullanmanız önerilir.
Dosyayı boş bir dizine indirdikten sonra, çalıştırıp, istediğiniz Cygwin
paketlerini Windows bilgisayarınıza kurabilirsiniz. Cygwin kurulum programı
başlangıçta sadece bazı temel paketleri kurar. Bu kitap ve bu ek için ihtiyaç
duyacağınız, gcc-core, make ve gdb dahil olmak üzere
yüklemek isteyeceğiniz diğer Cygwin yazılımlarını, kurulum programını
çalıştırdığınızda ekrana gelen paket yöneticisinden seçebilirsiniz.
Yazılım eklemek, kaldırmak veya güncellemek istediğinizde, kurulum programının
güncel uyarlamasını indirip tekrar çalıştırmanız gerekir.
MinGW ve
Mingw-w64 de Windows için birer
GCC derleyicisini sağlarlar, ancak Cygwin GCC
den farklı
olarak, cygwin1.dll
gibi, özel çalışma zamanı kütüphanesi
gerektirmeyen, doğal 32 veya 64 bit Windows programları üretirler.
Mingw-w64’ü Cygwin altında da kurup kullanabilirsiniz: Bunun için
(a) 32 bitlik programlar üreten mingw64-i686-gcc-core paketini ve/veya
(b) 64 bitlik programlar üreten mingw64-x86_64-gcc-core paketini
yukarıdaki paragrafta anlatıldığı gibi Cygwin ortamınıza kurabilirsiniz.
Derleme komutu olarak da gcc
yerine
(a) 32 bitlik program üretmek için i686-w64-mingw32-gcc
ve
(b) 64 bitlik program üretmek için ise x86_64-w64-mingw32-gcc
kullanılmalıdır. Derleyici komut satırı seçenekleri tüm yukarıdaki derleyiciler
için aynıdır ve Ek B’de anlatılmaktadır.
Cygwin’i kurduğunuz dizinin (örneğin C:\cygwin64\
)
altı unix-benzeri sistemlerin kök dosya sistemine benzer:
/bin
, /dev
, /etc
, /home
,
/lib
, /tmp
, /usr
, /var
gibi tanıdık bir altdizin yapısına sahiptir.
Cygwin’deki yüzlerce komut satırı aracını ve genellikle unix-benzeri
sistemlerde bulunan diğer programları yukarıda anlatıldığı gibi
kurulum programı yardımı ile yükledikten sonra, Windows komut satırında
bash
(veya örneğin
C:\cygwin64\bin\bash.exe
) yazarsanız,
unix-benzeri bir
komut satırı ortamına
geçiş yapabilirsiniz. Bu ortamda çalışırken, kök (/
) dizin aslında
Windows’taki Cygwin kurulum dizini (örneğin C:\cygwin64\
dizini) olur. Windows’taki sürücü
lere
geçiş yapmak için sürücü harfi önüne /cygdrive/
koyarak,
:
karakterini kullanmayarak ve dizin ayırıcı olarak
\
yerine /
kullanarak cd
komutunu kullanabilirsiniz. Aşağıda örnek bir oturum verilmiştir:
C:\>bash $ cd /cygdrive/c/Windows/system32 $ pwd /cygdrive/c/Windows/system32 $ cygpath -a -w . C:\Windows\system32 $ gcc --version gcc (GCC) 10.2.0 […] $ gdb --version GNU gdb (GDB) (Cygwin 9.2-1) 9.2 […] $ make --version GNU Make 4.3 […] $ echo "${BASH_VERSION}" 4.4.12(3)-release $ exit exit C:\>
Ek B’de anlatılan GCC, GDB ve GNU Make ile ilgili bilgiler Cygwin için de geçerlidir. Cygwin ile unix-benzeri diğer ortamlar temelde aynı olduğu için, o ekte anlatılanlar burada tekrar edilmeyecektir. Eğer okumadıysanız, öncelikle Ek B’yi okumanızı öneririz.