Mac OS X GCC Compiler ile C++ Derlemeye Giriş
Bir programcı olarak yeni bir ortamı ve yeni bir işletim sistemini keşfe çıkmak gerçekten çok heyecan verici. Keşfedilecek o kadar çok şey var ki insan neresinden başlayacağını şaşırıyor. Unix tabanlı sistemler genelde görsellikle arası pek iyi olmaması ile ünlü iken, OS X hem Unix tabanlı bir işletim sistemi hem de Windows’tan da daha görsel ve kolay bir sistem. Unix tabanlı olmasının en güzel yanlarından birisi de güvenli ve sağlam olmasının yanı sıra hepimizin çok sevdiği Linux dağıtımları ile hemen hemen aynı terminal komutlarını içermesi. Şimdi OS X üzerinde C++ programlamaya giriş yapalım.
Programımız konsoldan bizi selamlayan basit bir program olacak :
komutu ile populer vim editöründe “hello.cpp” dosyasını oluşturduk. Dosyaya kayıt ekleyebilmek için klavyenizden “i” karakterine basmanız gerekiyor.
Değişiklikleri kaydedip çıkmak için vim editörünüzde sırayla "esc", ":", "x" komutlarını girerek değişiklikleri kaydedip çıkabilirsiniz.
gcc -o hello hello.cpp -lstdc++
gcc derleyimize hello.cpp dosyamızı "-o hello" ile "hello" dosyasına derleyeceğimizi söyledik. -lstdc++ komutu ise standart c++ kütüphanesini derleme işlemine katmamızı sağlıyor. Aksi halde std isimuzayındaki "cin" ve "cout" komutlarını kullanamazdık.
ls -l | grep hello
Yine Linux'tan alışık olduğumuz şekilde klasördeki çıktıları kontrol etmek için çalıştığımız dosyaları listeledik.
Bendeki çıktıda :
-rwxr-xr-x 1 turhancoskun staff 15320 Dec 24 16:51 hello
-rw-r--r-- 1 turhancoskun staff 155 Dec 24 16:51 hello.cpp
Şimdi yapmamız gereken uzantısı olmayan hello dosyasını çalıştırarak yaptığımız programı test etmek.
./hello
Ben ~/ dizininde çalıştırdığım için x izinlerine sahibim. Eğer çalıştırma izinlerimiz olmayan bir klasörde çalıştırmaya çalışıyorsak "permission denied" hatası almamız normal. Burada imdadımıza yetişen chmod komutu olacak.
chmod +x hello
Mac OS X gcc ile C++ derledik. Konsol üzerinde bizi selamlayan küçük bir uygulama yaptık. Programcı olmayan kişiler için de güzel bir başlama noktası olabilir diye düşünüyorum. Görüşmek üzere :)