Yeditepe Üniversitesi Bilgisayar Topluluğu

Kasım 1, 2008

Derleyici Kavramı ve C’ye Başlangıç

Kategori: C/C++ — xaph @ 7:55 pm
Tags:

Derleyici Nedir?

Herhangi bir dilde programlamaya başlamaya karar veren birisinin ilk karşılaştığı problemlerden birisi oluşturacağı program kodlarını nereye yazması gerektiğidir. C de başlangıç dillerinden birisi olarak gösterildiğine göre C programlama dilinde program yazmak isteyenlerin bir kısmını yeni başlayanlar kategorisine alabiliriz. Bu yüzden sizlere oncelikle derleyici(compiler) nedir ve kullanımı nasıldır bunu anlatmak istedim.

Bir çogunuzun bildiği/duydugu üzere bilgisayarlar sadece 0 ve 1′leri kullanmaktadırlar. Bilgisayarın kullandığı bu 0 ve 1′lerden oluşan dile makine dili adı verilir. Makine diline bilgisayarın anadili diyebiliriz. Ancak makine dili bizim için öğrenmesi ve kullanaması oldukça zor bir dildir. Ayrıca kullanımı da oldukça uzundur Mesela makine dilinde bir A harfi tanımlamak istediğimizde 01000001 yazmak zorundayız. Programlama dillerive derleyiciler işte tam bu noktada devreye girer. Biz kullandığımız dilin kurallarına göre bir A harfi yazdığımızda kullandığımız derleyici onu makine diline yani 01000001 haline çevirir. Yani derleyicilir bizim bilgisayar ile aramızdaki tercümanlardır diyebiliriz. C için kullanabileceğiniz bir derleyiciyi verdiğim linkten ulaşabilirsiniz.

Dev C/C++ İndir

Dev C/C++’ın kurulum aşamasının herhangi bir Windows programından farkı yok ancak ilk çalıştırmada sizden bir özelliğinin kurulumu hakkında onay ister. Kurup kurmamak tamamen size kalmış bir şey. Ancak kurarsanız bilgisayarınızdan normalden daha fazla bir şekilde ram kullanacaktır.

İlk C programımızı Yazalım ve Çalıştıralım:

Derleyicimizi kurduktan sonra C’ye başlangıç için bir program yazabiliriz. Öncelikle birçok programlama kitabında da ilk olarak yapıldığı gibi “Hello World” programı yazalım. Hello World programı çalıştırıldığı zaman ekrana “Hello World yazdıran ve ardından sona eren bir programdır. Henğz derleyicinin nasıl çalıştığını bilmediğiniz için bu örnekte derleme işlemini adım adım yapacağız.

1- Öncelikle kod yazacağımız belgeyi oluşturmakla işe başlayalım. Dev-C’de File menüsünden New->Source File adımlarını izlerseniz boş bir C belgesi oluşturmuş olursunuz.

2- Dilerseniz kodumuzu yazmadan önce belgemizi adlandıralım. Bunun için yine File menüsünden Save as seçeneğine tıklamalısınız. Ya da klavyeden Ctrl+F12 kısayolunu da kullanabilirsiniz. Açılan pencerede Dosya adı olarak “Untitled Document” yazan yere ilk programımızı adlandırmak için HelloWorld.c (C kodları .c uzantısını kullanırlar) yazabilirsiniz. Boylece oluşturduğumuz belgeyi adlandırmış olduk.

3- Şimdi elimizde HelloWorld.c olarak adlandırdığımız boş bir C belgesi var. Artık programımızı yazabiliriz:


//Hello World programı
#include

int main()
{

printf(“Hello World!!\n”);
return 0;

}

4- Kodumuzu yazdıktan sonra execute menüsünden compile seçeneğini seçersek ve kodumuzda hata yoksa derleyicimiz kodumuzu çalıştırılabilir bir hale getirir. Eğer kodda hata çıkarsa derleyicimiz size “1 Warning 3 Error” gibi bir şekilde hata verecek ve hataların hangi satırda meydana geldiğini gösterecektir.

5- Kodumuzu duzgun bir şekilde derlediğimizi varsayarsak yine execute menüsünden run diyerek programımızı çalıştırabiliriz. Ancak programımız sadece ekrana yazı yazıp kapanacağı için siz ekranda bir şey göremeyeceksiniz. kodumuzu kaydettigimiz yerde .exe uzantılı yeni bir dosya olduğunu göreceksiniz. HelloWorld.exe adında olan bu uygulama kodumuzun derlenmiş ve çalıştırılabilir halidir. Programımızın çıktısını görmek için programımızı “komut istemi”nden çalıştırmamız gerekmektedir. Bunun için Başlat menüsünden Çalıştır seçildikten sonra cmd yazıp çalıştırmalı, ardından programımızı(.exe uzantılı halini) sürükleyip komut istemi içine bırakarak ya da adresini yazarak(C:Documents and Settings/kullanıcıAdı/Belgelerim/HelloWorld.exe gibi) enter tuşuna basmalıyız. Böylece kodumuzun verdiği çıktıyı tam olarak görebiliriz.

Bu belgemizde ekrana çıktı veren basit bir program yazdık. Alıştırma olarak printf içerisindeki yazıyı(tırnak işaretlerine dokunmadan) değiştirerek birkaç derleme daha yapabilirsiniz.(printf içerisindeki \n ifadesi yeni bir satıra atlamaya yarar) Bir sonraki belgemizde ise yazdığımız programda hangi kodun ne iş yaptığını detaylı bir şekilde anlatacağım.

İyi kodlamalar:)

Ekim 28, 2008

Java kodunu çalıştırılabilir jar dosyasına dönüştürme

Kategori: Java — aycanayhan @ 4:11 pm
Tags:

Jar dosyası Zip ve Rar dosyaları gibi, bilgileri sıkıştırmak için kullanılır. Bir veya birden fazla dosyayı sıkıştırıp, gerçek boyutundan daha az bir boyutta saklamamızda işe yarar. Burada Java kaynak kodunu Jar dosyasında sıkıştırmamızdaki amaç dosyayı sıkıstırarak, dosyanın boyutunu küçültmekten ziyade, çalıştırılabilir bir jar dosyası yaratarak, çalışır kodumuzu tek bir dosyada toplayıp, çift tıklandığında çalışabilir halde saklamaktır.

Çalıştırılabilir Jar dosyası yaratmak

İlk olarak bir text dosyası yaratmak gerekiyor. Bu text dosyasının içinde kodunuzdaki main metodunun hangi class içinde olduğu yazacak. Başka bir deyişle, Jar dosyası çalıştırıldığında hangi class ın içindeki main methodunun çalıştırılacağı belirlenecek.

Oluşturacağınız text dosyasının adı “main.txt” olsun ve çalıştırılacak main metodunu barındıran dosyanın adı “train.java” olsun.
main.txt dosyasının içi şöyle olmalı: 

Main-Class: train

Burada belirtmemiz gereken bir nokta var ki o da text dosyamızın ilk satırında “Main-Class: train” yazarken 2. satırı boş olmalı. yani text dosyası 2 satırdan oluşmalı ( 2 satırdan oluşmayınca sorun çıkıyor).
Text dosyasını oluşturduktan sonra şu komut ile jar dosyamızı oluşturabiliriz.

jar cmf main.txt example.jar *.class

*class ile tüm derlenmiş dosyaları Jar dosyasının içinde sıkıştırmış oluyoruz.
Artık kodunuz “example.jar” dosyasına sıkıştırıldı ve çalıştırılabilir tek dosya haline geldi. Çift tıklayarak kodunuzu çalıştırabilirsiniz.

C’de konsoldan parametre girmek

Kategori: C/C++, Genel — xaph @ 10:47 am
Tags: ,

Operating systems ödevimi yaparken ihtiyacım olan ve bu güne kadar hiç kullanmadığım bir olayla karşılaştım C programlama dili üzerinde.

Eğer programımıza komut satırında çalıştırırken parametre girmemiz gerekirse bu işi nasıl yaparız?

Cevabı internette biraz araştırma yaptıktan sonra şu ana kadar parametresini hep void ile doldurduğum main fonksiyonuna parametre girmekle yapılacağını öğrendim. Şimdi bu iş nasıl gerçekleşiyor bakalım.

Örnek programımızın adı program.c olsun. program.c içerisinde main fonksiyon prototipimizi şu şekilde yazalım:

int main(int argc, char * argv[])

argc ve argv sıklıkla kullanılan değişken isimleridir. Tabi ikisi de değişken olduğu için isimlerini dilediğiniz şekilde değiştirebilirsiniz. Ardından programımızı gcc ile derleyelim:

xaph@linux$ gcc program.c

Son olarak ise programımızı çalıştırırken girmek istediğimiz değişkenleri girelim:

xaph@linux$ ./a.out degisken1 degisken2 degisken2

Bu şekilde çalıştırılan programımızda argc konsoldan girilmiş olan toplam input sayısını tutar. Bizim örneğimiz için bu değer 4tür. Main fonksiyonuna girmek istediğiniz değişkenler ise argv string arrayinde tutulmaktadır. argv[0] programımızın adını tutar. argv[1] den argv[3] e kadar olan dizi ise sırasıyla girdiğimiz degisken1, degisken2, degisken3 değerlerini tutar. Bu değişkenleri programınız içerisinde dilediğiniz gibi kullanabilirsiniz.

Konsoldan integer girişi:
Şu ana kadar girdiğimiz ve kullanmak istediğimiz değişkenler string veri türündeydi. Peki biz programımıza tamsayı girdisi yapmak istersek ne yapmalıyız?

Main fonksiyonunda kullandığımız prototip önceden tanımlı bir durumdadır. Dolayısıyla ikinci parametre olan char* veri türünde değişiklik yapamıyoruz. Bu da gireceğimiz her sayının karakter dizesi olarak tutulması anlamına geliyor. String veri türündeki bir tamsayıyı nümerik veri türlerine çevirmek için standart C kütüphanesinde atoi, atol, atof, strtol gibi fonksiyonlar bulunmakta. En çok kullanılanı olduğu için kısaca atoinin kullanıldığı bir örnek koda bakalım.

#include <stdio.h>
int main(int argc, char* argv[])
{
    int i;
    i=atoi(argv[1]);
    printf("%d", i);
}

Bu şekildeki bir programı derleyip parametre olarak integer değeri girdikten sonra, girdiğiniz değeri çıktı olarak basacaktır. Tabi çıktı sayının integer veri tipine çevrilmiş haliyle basılır.

Artık tek yapmanız gereken konsoldan aldığınız parametreleri istediğiniz hale getirip kullanmak. İyi kodlamalar.

« Önceki Sayfa

WordPress.com'dan blog alın.