Code::Blocks

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Code::Blocks'den bir görüntü

Code::Blocks, açık kaynak kodlu ve özgür bir C++ tümleşik geliştirme ortamıdır. wxWidgets tabanlı tamamen özelleştirilebilir arabirimiyle, Linux, Microsoft Windows, MacOS platformlarında sorunsuzca kullanılabilmektedir. Gelişmiş eklenti desteğiyle kod yazımı esnasında ihtiyaç duyabileceğiniz birçok yardımcı fonksiyon sunar ve kod üzerinde tam bir hakimiyet kurmanıza olanak tanır.

İçerisinde GCC paketini barındırır. Bünyesinde derleme, editör, hata ayıklama, yorumlayıcı gibi fonksiyonları barındırır. Bu paltformun Linux'da kullandığı derleyicisi GCC derleyicisidir. Bu derleyici çeşitli dilleri desteklemekdedir. GNU GCC, MS Visual C++, Dijital Mars, Borland C++ 5, OpenWatcom, LLC, Intel C++, SDDC, Tiny C, GDC, D, GNU ARM, GNU ARV gibi bir çok derleyiciyi destekler.

Vikipedi logo.png Bu yazılım hakkında ek bilgiler için Vikipedi'deki Code::Blocks maddesine bakabilirsiniz...

Kurulum

Programı Yazılımlar ya da Synaptic üzerinden kurabilirsiniz. Ayrıca istenirse http://www.codeblocks.org/downloads/binaries adresi üzerinden işletim sistemine uygun paket indirilip kurulabilir.

Kullanım örneği

IDE den bir görüntü

C dilinde basit bir kod derleme:

  • İlk önce Sırası ile; Code::Blocks açılır. File - New - Empty File tıklanır.
  • Gelen boş sayfaya aşağıdaki kodlar yazılır:

#include<stdio.h>
int main()
{
printf("Selam bilgisayar dünyası.\n");
return 0;
}

  • Daha sonra File - Save tıklanarak açılan pencerede dosya ismi verilir. Öreneğin:selam.c şeklinde isim verilir(istenilen isim verilebilir fakat C için sonu '.c', C++ için '.cpp' uzantılı olmak zorundadır). Enter tuşu ile dosya kaydedilir.
  • Son olarak Üçüncü satırda dişli şeklindeki butona basın daha sonra yeşil renkli(ok şeklinde) olana basın konsolda program çıktısı aynen şöyle olacak Selam bilgisayar dünyası..
  • Tabi burada anlattığım dağın sadece görünen ucu Code::Blocks'un daha bir çok teknik ve yararlı özellikleri vardır.
  • Şimdi File menüsünde New > Empty file(Boş bir dosya) yolunu izleyip kısa küçük programları yazıp deneyebilirsiniz.
Filee.png

İnceleme yazısı

Help-hint 48px.png Bu inceleme yazısı, Ekim 2011'de Pardus E-dergi sayı2'de yayınlanmış olup İsmail SEZEN tarafından hazırlanmıştır.

Adet olduğu üzere tekrar tekrar uzun adını yazmak yerine, yazının devamında“CodeBlocks IDE” yerine C:B kısaltmasını kullanacağım. Çok değil, birkaç yıldır yüksek lisans tezim için gerekli C kodlarını C:B kullanarak yazıyordum. Deneyimlerimi paylaşmak Pardus E­-dergi'ye nasipmiş. Bu yazıda C:B'un nasıl oluşturulduğundan ziyade, nasıl verimli bir şekilde kullanabileceğimize dair ufak ipuçlarından bahse­deceğim. Her ne kadar şu an itibariyle Pardus 2011 depolarında mevcut değilse de; C:B'u Pardus'a kurduktan sonra çalıştırdığımızda, sistemde kurulu olan derleyicileri görebileceğimiz bir “Otomatik Derleyici Algılama” penceresi ile bizi karşılıyor.

Ilkekran.png

Bu pencerede, her GNU/Linux dağıtımında kurulu geldiği üzere, “GNU GCC derleyicisi”'nin algılanmış olduğunu görebilirsiniz. C:B kurulumundan önce herhangi bir başka derleyici sisteminizde kurulu ise, bu pencerede “algılanmış” olarak görünecektir. Neyse ki, bu pencere varsayılan derleyicimizi seçebileceğimiz tek pencere değil. Daha sonra da varsayılan derleyici seçibilir, değiştirebilir ya da herhangi bir özel proje için başka bir derleyici tercih edebiliriz.

İkinciresim.png

Varsayılan derleyicimizi seçtikten sonra C:B açılıyor ve iki ek pencere ile bizi karşılıyor. “Gününİpucu” penceresinden çokça bahsetmeye gerek yok. Ama ben her ne kadar kullanmasam da, 10.05 sürümü ile birlikte gelen “Scripting Console” penceresine çok kısa değinmekte fayda var. İlk gördüğümde sanki basit C/C++ kodlarını deneyebileceğim hissini veren, fakat alakası olmayan yardımcı bir araç. “ScriptingConsole” çalışma zamanında C:B'nin işlevselliğini değiştirmeye yarıyor. Örneğin, C:B'un açılışında ya da bir proje yüklenirken, çalışmasını istediğiniz betikleri burada deneyip, gerekli yerlere entegre edebilir, C:B'un çalışma biçimini özelleştirebilirsiniz.

Üçüncüresim.png

Ve geldik C:B penceresine. Sekmeli çalışmayı destekleyen C:B penceresinde bir çok IDE (Entegre Geliştirme Ortamı) tarafından standart olarak sunulan orta bölümdeki “Başlangıç” sekmesi dikkatimizi çekiyor. Bu sekme içerisinden C:B ve derleyici sürüm numaranızı görebilir, yeni bir proje oluşturabilir veya son açtığınız projelerin listesine ulaşabilirsiniz. Bu arada ne yazık ki, açılışta araç çubukları üst üste binmiş olarak karşımıza çıkıyor. Fakat şanslıyız ki, harika sürükle­bırak teknolojisi sayesinde araç çubuklarını yeniden düzen­lemek çok kolay. “Başlangıç” sekmesinde ya da “Dosya ­- Yeni - Proje” ögesine tıkladığımızda karşımıza çıkan “New from template” penceresi kolay bir şekilde yeni bir proje oluşturmamıza yardımcı oluyor. Bu pencerede “Category” seçim kutusundan da görüleceği üzere Konsol, D Dili, 2D/3D Grafikler ve hatta C:B Eklenti oluşturma için daha önceden hazırlanmış olan proje şablonlarını kullanarak projeler oluşturabiliriz. Hatta kendi şablonlarımızı bile oluşturmamız mümkün Yeri gelmişken değinmeden geçemeyeceğim, yıllardır FORTRAN diline olan merakı, güzel bir IDE yoksunluğundan dolayı hep kursağında kalan biri olarak, C:B'un aynı zamanda FORTRAN için geliştirilen bir dalı olduğunu da eklemek istiyorum. Henüz deneme fırsatım olmasa da, aylardır http://darmar.vgtu.lt/ adresini takip ediyorum ve proje hala güncelliğini koruyor. Meraklıları için ufak bir not düşmek istedim.

Dördüncüresim.png

Alışık olduğumuz bir proje oluşturma sihirbazını takip eden Konsol şablonunu seçerek devam ediyorum. Hangi dili tercih edeceğimizi soran ekranda C dilini seçiyorum ve projemize ait bilgileri gireceğimiz pencere bizi karşılıyor. “Project Title” metin kutusunda projenizin adını girdiğinizde,“Project filename”kutusunun otomatik olarak doldurulduğunu fark edebilirsiniz. Bu arada daha önceden projelerinizi saklayacağınız bir proje klasörü oluşturmuş olmakta fayda var.“Folder to create project in” metin kutusuna sadece bu klasörün yolunu girmeniz yeterli.C:B bu klasör içinde projeniz için ayrı bir klasörü kendiliğinden oluşturacaktır.Proje oluşturma sihirbazının bir sonraki adımında, derleyici tercihi yapabileceğimiz bir ekran ile birlikte, Debug ve Release yapılandırması bizi karşılıyor. Bazen bu dizinlerin farklı klasörleri işaret etmesini istediğimizde bu yapılandırma oldukça faydalı olabiliyor. Bunun yanında, ne yaptığınızdan emin değilseniz, bu adımdaki ayarlara hiç dokunmadan devam edebilirsiniz. Projemizi geliştirirken genelde Debug yapılandırmasını kullanıyoruz. Bu da derlenen program çıktısının oluşturduğumuz proje klasörü altındaki “bin/Debug” klasöründe bulunacağını gösteriyor. Debug ya da Release yapılandırma ayarlarına daha sonra “Project­>Build Options...” ögesine tıklayarak ulaşabilirsiniz. “Build Options” penceresinde Debug ve Release yapılandırmalarını inceleyecek olursanız aşağıdaki farklar dikkatinizi çekecektir:Debug sembollerinin oluşturulması, hata ayıklama sürecinde gereklidir. Bu yüzden projemizi geliştirirken Debug yapılandırmasını kullanıyoruz. Peki Release yapılandırması ne işe yarıyor? Yazdığımız programın artık yeteri kadar olgunlaştığını ve dağıtılabilir olduğunu düşündüğümüzde ise Release yapılandır­ masını tercih edeceğiz. Yukarıdaki tabloda gördüğümüz üzere, Release yapılandırma­ sındaki özellikler, tamamladığımız uygula­manın boyut olarak küçük olmasını ve hızlı çalışmasını sağlıyor. Bununla birlikte diğer yapılandırma ayarlarını inceleyip, ihtiyacınıza göre düzenleyebileceğinizi unutmayın. “Bitir”düğmesine tıklayarak proje oluşturma adımlarını tamamlıyoruz ve C:B bizi hazır bir “Hello World” uygulaması ile karşılıyor.

Beşinciresim.png

Bu arada yeri gelmişken ekleyelim; C:B oldukça özelleştirilebilir bir yapıya sahip. İlk defa bir proje oluşturduğunuzda,“Management” (Yönetim) panelini sol tarafta ve diğer paneli ise pencerenin alt tarafında görüyoruz. Ek olarak, kod düzenleme sekmesi beyaz arka plana sahip. Ben“Yönetim” panelini sağ tarafta ve kod düzenleme sekmesinin arka plan renginisiyah olarak kullanmayı tercih ediyorum. Kod editörü ile ilgili ayarları menü üzerinde“Settings­>Editor...”ögesine tıklayarak ulaşabileceğiniz “Configure Editor” (Yapıla­ndırma Düzenleyici) üzerinden yapabilirsiniz.Örneğin, arka plan rengini ya da kod renklendirme ayarlarını “Syntax Highlighting”bölümünden değiştirebilirsiniz İlk defa bir proje oluşturduğumuzda C:B bizi basit bir Hello World uygulaması ile birlikte sol tarafta Management (Yönetim) ve alt tarafta Logs & Others (Kayıt ve diğerleri)panelleri ile karşılıyordu.Management (Yönetim) Paneli Management panelinin altında Projects (Projeler) ve Symbols (Semboller) olmak üzere iki adet sekme mevcut. Projeler sekmesi, çalıştığımız projeye ait dosyaları bizim seçtiğimiz bir hiyerarşik düzene göre listeleyen ve çalışırken en çok kullanacağımız sekmedir. Bu sekme içerisinde en üstte Workspace (İş alanı) denilen ana düğüm mevcut. Workspace düğümü adından da anlaşılabileceği üzere, eğer birden çok proje üzerinde çalışıyorsak tüm projeleri içeren temel düğüm vazifesi görür. C:B aynı anda birden çok projeyi açma yeteneğine sahiptir ve açılan tüm projeler Workspace düğümü altında listelenir. Arzu edildiği takdirde,mevcut Workspace, “Dosya ­> Save ­>Workspace”menü ögesi kullanılarak kaydedilebilir ve daha sonra aynı proje takımını tekrar açmak istediğimizde kaydettiğimiz Workspace dosyasını C:B ile açmamız yeterli olacaktır. Eğer daha önce Visual Studio kullandıysanız, Workspace Visual Studio'daki Solution kavramına oldukça benzemektedir.Workspace düğümü altında proje adından oluşan düğüme farenizin sağ tuşu ile tıkladığınızda yeni bir menü göreceksiniz.Eğer Workspace altında birden fazla proje açık ise projelerden sadece birisi aktiftir ve aktif olmayan projeye sağ tıkladığınızda Activate Project isimli bir menü ögesi ile karşılaşabilirsiniz. Proje menüsünde “Project tree” isimli alt menü grubu özellikle Projects ekmesi üzerinde birçok değişiklik yapmamıza imkan tanır. Bu menüdeki ögeler kullanılarak,seçili projeyi Workspace listesi içerisinde yukarı ya da aşağı taşıyabilir; aktif olmayan pro­jeyi sağ tıklayarak derleyebilir;proje altındaki dosyaların uzantılarına göre sınıflandırılmasını sağlayabilir ya da proje sekmesinde aynen disk üzerinde göründüğü gibi görünmesini sağlayabilirsiniz.Bu kısımdaki tercihler tamamen sizin arzunuza kalmıştır.“Add files...” ve “Add files recursively...” menü ögeleri projenize yeni dosyaları eklemek için bir dosya aç iletişim penceresi açar. Bu pencereyi kullanarak tek bir dosyayı ya da dosyaları içeren bir klasörü projenize ekleyebilirsiniz.“Add new virtual folder...” ögesi projenizi istediğiniz gibi özelleştirmenin bir diğer yoludur. Bu öge sayesinde projenize sanal klasörler ekleyebilir ve projenizde halihazırda bulunan dosyaları oluşturduğunuz sanal klasör altına sürükleyebilirsiniz. Bu kısım tamamen sizin projenizi nasıl kurguladığınıza bağlıdır.“Build Options...” ögesi, projenize özel inşa ayarları penceresine ulaşmanızı sağlar. Aynı pencereye C:B menüsündeki “Project­>Build options...” altından da ulaşabilirsiniz. Tabi bu yolun sizi sadece aktif olan projenin inşa ayarları penceresine çıkaracağını unutmayın.“Build options...” penceresini daha sonra inceleyeceğiz.Management paneli al­tında varsayılan olarak görünen diğer sekme ise Symbols (Semboller) sek­mesidir. Symbols sekme­sini kullanarak projeler­ deki fonksiyonlara, tip tanımlamalarına, Global değişkenlere, önişlemci sembollerine ve global makrolara ulaşabilirsiniz.Symbols sekmesi bir bakıma açık olan proje­lerinizin özeti / kısayolu gibi algılanabilir.Symbols sekmesinde View (Görünüm) seçim kutusunu kullanarak arzu­ nuza göre mevcut çalıştığınız dosyadaki sembolleri,aktif projedeki sembolleri,Workspace altındaki sembolleri ya da tüm sembolleri görebilirsiniz.Örneğin,Global functions düğümüne tıkladığınızda sekmenin altındaki bölmede seçiminize göre projenizde kullandığınız fonksiyonların bir listesini görebilirsiniz. Bir fonksiyona çift tıkladığınızda ise C:B sizi otomatik olarak seçili fonksiyona götürecektir(Bu fonksiyonu içeren dosya açık olmasabile). Global Variables sekmesi ise projenizde tanımladığınız değişkenlerin bir listesini tutar.Burada belirtmekte yarar var ki, Semboller düğümü altındaki herhangi bir alt düğüm seçili iken View seçim kutusundaki değeri değiştirmek bende C:B'un çökmesine sebep oluyor. Bu durum ile karşılaşırsanız şaşır­mayın.Logs & Others (Kayıtlar ve Diğerleri)C:B penceresinde altta görünen Logs & Others (Kayıtlar ve diğerleri) paneli bir çok sekme içermektedir. Bu paneldeki sekmeler kullanıcıyı süreçler hakkında bilgilendirmek ve çeşitli mesajlar vermek için kullanılır. Şimdi sırasıyla bu sekmeleri inceleyelim.Code::Blocks isimli ilk sekme, Codeblocks 'unaçılışı esnasında yüklenen eklentiler ve süreçhakkında bilgiler içerir. “Search results”(Arama sonuçları) sekmesi ise Ctrl+F tuş kombinasyonu ile açılan arama penceresinde“Find in files” (Dosyalarda ara) sekmesi kullanılarak yapılan aramanın sonuçlarını içerir. Aranan ifadenin bulunduğu dosyayı,satır numarasını ve satırın bir özetini gösterir.Valgrind sekmesi ise C/C++ kodları yazarken kullanılan ve yazdığımız programdaki bellek sızıntılarını bulmamızı sağlayan harika bir eklentiye ait mesaj penceresidir. Valgrind aslında başlı başına ayrı bir yazıda incelenmesi gereken harika bir konu. Eğersistemde Valgrind mevcut ise C:B menüsünden “Valgrind ­> Run Valgrind::MemCheck” ögesine tıkladığımızda Valgrind programı projemiz üzerinde çalıştırılır ve Valgrind çıktısı bu sekmede görüntülenir.Eğer Valgrind sisteminizde kurulu değilse depodan kurabilirsiniz. Cccc sekmesi ise yine C:B 'a entegre edilmiş bir diğer eklentiye (C and C++ Code Counter) ait mesaj penceresi. “Plugins­>Cccc” ile çalıştırılan eklentinin sonuçları bu sekmede görüntülenmektedir. Cccc eklentisi kodunuz üzerinde çeşitli ölçümler ve analizler yaparak sonuçları bu pencerede listeler. (Örneğin, kod satırlarının sayısı, karmaşıklığı gibi) Debugger (Hata ayıklayıcı) sekmesi ise bir IDE'de olması gereken en kullanışlı özelliğe ait mesajları gösteren sekmedir. C:B ile yazdığınız C/C++ kodu üzerinde herhangi bir satırdayken C:B menüsünde “Debug­>Toogle Breakpoint” ögesine tıklarsanız o satırın sol tarafında kırmızı bir nokta belirecektir. Aynı işlemi fare ile satırın sol tarafındaki boş alana tıklayarak da yapabilirsiniz. Bu işlem, kesme noktası koymak olarak adlandırılır. Bu işlemin ardından “Debug­>Start (F8)” ögesine tıklanırsa debug (hata ayıklama) işlemi başlar. Bu esnada Debugger sekmesinden işlem esnasında neler olduğuna dair bilgi edinebilirsiniz. Build log (İnşa kayıtları) ve Build Messages (İnşa mesajları) sekmeleri ise inşa işlemi sırasında bizi bilgilendirir. İnşa işlemi esnasında bir hata meydana gelirse (Tanımlanmamış değişken, işaretçi hatası gibi) işlem durdurulur ve bu sekmelerde gerekli iletiler görüntülenir. Program yazma esnasında bir çok hata yapacağımızdan ilk başlarda en çok muhatap olacağımız mesaj sekmesi bunlardır. CppCheck ve CppCheck Messages sek­meleri ise C:B içerisine entegre edilmiş olan CppCheck uygulaması tarafından gönderilen mesajların gösterildiği sekmelerdir. CppCheck kod üzerinde statik analizler yapar ve derleyicilerin üzerinde olan yazım hatala­ rından ziyade hata (bug) bulmaya odaklanmış bir uygulamadır. Örneğin; dizi sınırı, bellek sızıntısı, eski fonksiyon mevcudiyeti ya da başlatılmamış değişkenler ve kullanılmayan fonksiyonlar için kontroller yapar ve kulla­nıcıyı uyarır.Diğer Paneller C:B ilk kurulduğunda varsayılan olarak görünür olan panellerin yanında C:B menüsünden View ögesi altında listelenen ve başlangıçta görünmeyen başka paneller demevcuttur. Kısaca bu panelleri ve ne için kullanıldıklarını da inceleyelim.CodeSnippets paneli sık yazdığımız ve kullandığımız kod parçalarını(fonksiyon,döngüler, if blokları gibi) saklamak için oldukça kullanışlıdır. Basitçe Codesnippets panelindeki Codesnippets düğümüne sağ tıklayarak yeni bir kod parçacığı, alt kategori ekleyebilir ya da bir kod parçacığı indeks dosyasını yükleyebilirsiniz. Daha sonra eklediğiniz kod parçacığını kod yazarken çift tıklayarak imlecin olduğu yere ekleyebilirsiniz. İyi tasarlanmış bir Codesnippets koleksiyonu parmaklarınızı bir çok tuşa gereksiz yere basmaktan kurtarır ve zaman kazandırır.odo List (Yapılacaklar listesi) paneli, prog­ ram yazarken o anda yazmadığımız fakat daha sonra eklemeyi planladığımız özellikler için not düştüğümüz satırları gösteren oldukça kullanışlı bir eklentidir. C/C++ kodu yazarken bir satıra
// TODO: Girilen sayıların stan­dart sapması burada hesaplanacak.
Şeklinde bir not düşüldüğünde Todo list panelinde, bu satır görüntülenecektir. Bu eklentinin yaptığı şey kod satırları arasında“TODO:” etiketini aramak ve ardındaki metni göstermekten ibarettir. Open files list (Açık dosya listesi) paneli ise o anda üzerinde çalıştığınız ve açık olan dosyaların bir listesini verir. Eğer bir çok açık dosyanız varsa, bunları yönetmek oldukça zor bir hal alır. Bu gibi bir durumda Open files list paneli oldukça kullanışlıdır.çalışma esnasında oldukça etkin bir şekilde kullanmamıza yardımcı olur. Ben en sık kullandığım Management ve Logs & Others panellerine F1 ve F2 kısayollarını atadım.Çünkü kod yazarken geniş bir yazım alanını tercih ediyorum ve ihtiyacım olmadığında panelleri kolayca gizleyebiliyorum.

Kaynakça