Pages

C Programlama Dili İle Ram Bellekte Kısa Bir Seyahat


       Merhaba sevgili Eclipse Türkiye kullanıcıları sizlere bugün C'nin üstün bir özelliğinden bahsedeceğim. Fakat buna başlamadan önce Bir çok programlama dilinin ağa babası olarak kabul edilen C'nin mazisine değinmemek mümkün değildir. C makine dillerinin zorluklarını aşmak için 1972 yılında Ken Thompson ve Dennis Ritchie tarafından geliştirilmiştir. Program geliştirildikten sonra Unix işletim sistemi bu dille yazılmıştır. Bugün Linux İşletim sisteminin çekirdeği de Unix'tir ve halen C programlama dili bu çekirdeği geliştirmek için kullanılmaktadır. 1990 yılından sonra ANSI(Amerikan Standartları) tarafından ücretsiz bir dil olarak standartlaştırılmış ve halka arz edilmiştir.

C neden diğer programlama dillerine göre bunca yıl geçmesine rağmen üstünlük gösterir ?

      C programlama dili kullanıcının herşeyi bildiğini kabul eder, buna mutakıben kullanıcının sisteme zarar verme, sistemi kötüye kullanma hatta sistemi diskalifiye etmek dahil herşeye izin verir ta ki işletim sistemi dur diyene kadar. Adeta Hacker'lar için geliştirilmiş bir dildir. Java, C#, C++ gibi C Programlama dilinin öz evlatları size herşeyi yapmanıza izin vermez. Günümüz de bile bir çok alan da halen C Programlama dili kullanılmaktadır. Örnek verecek olursak; Füze ateşleme sistemlerinden tutun, PİC'lerle(Mikro Denetleyiciler) çalışan oyuncak arabalara kadar yine pic yönetimi ile çalışan sulama sistemleri dahil aklınıza gelebilecek her alanda C programlama dili kullanılmaktadır. Yani işin özeti şu; İyi bir hacker, iyi bir güvenlik uzmanı olmanın yolu C programlama dilini iyi bilmekten geçer diyebiliriz. Nedeninden daha önce de bahsetmiştim ama yine değinmek isterim. Çok ileri bir programcı zekasına sahipseniz, Eğer C'nin tüm fonksiyonlarını adınız gibi öğrenirseniz C programlama dili ile bir bilgisayarın Ram belleğini yakmak veyahut ram bellekten bios'a müdehale etmek mümkündür.

      Değerli Eclipse Turkiye kullanıcıları,
sizlere dört satırlık bir kod bloğu paylaşacağım C programlama dili ile neler yapabileceğimi görebileceksiniz.
Gelelim Kod'umuza;

/*C ile Ram bellek'ten Veri Okuma...*/
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
      char dizi [2];
      int i;
      for(i=0;i<=9000;i++){
         printf("%c",dizi[i]);
     }
system("PAUSE");
return 0;
}


Kodları inceleyecek olursak; 
char türünde 2 karakter uzunluğun bir array(dizi) belirledik. Integer(Tam Sayı) türünde ise bir de sayaç belirledik. Sonra for fonksiyonu ile 0'dan - 9000'ne kadar saydırdık ve bu işlemi %c ile yaptık, %c karakter karakter verileri okutturmadır. Şimdi yukarıda dizinin 2 karakterden oluştuğunu biliyoruz fakat biz 9000 tane karakter saydırıyoruz ? Yolunda gitmeyen birşeyler var diye düşünebilirsiniz ve düşündüğünüzde de haklısınız çünkü günümüz teknolojisi ile yazılan hiç bir programlama dili size bu derece de özgürlük tanımaz.
Örneğin Java;
Java'da bu programı yazdığınız da size aşağıda ki hatayı bildirecektir.

Exception in thread "main" java.lang.NullPointerException
at tr.Run.main(Run.java:11)

   İşte burada C'nin bize sağladığı büyük bir özgürlükle karşılaşıyoruz burada for ile dizinin içinden taşıyoruz yani; 8998 tane karakteri Ram dünyasının içinde yer alan diğer verileri okutuyoruz. C programlama dili gerçekten kötü kullanılması halinde çok büyük bir silah olabilir. İyiye kullanıldığın da ise insanlık için güzel şeyleri ortaya koyabilir. 
     
      Evet bugün ki yazım bu kadar hayırlı günler diliyorum gelecek dersimiz de C'nin daha yıkıcı yönlerinden bahsedeceğim, bizi takip etmeye devam edin.

Not; Bu makale Emrah DEDEOĞLU tarafından yazılmıştır.  İçerisin de kullanılan örnekler denenmiştir ve olumlu sonuç alınmıştır.
Share on Google Plus

About eclipseturkiye

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 yorum:

Yorum Gönder