Rss Feed
LinkedIN
FriendFeed
Twitter
Facebook

Pointer ve C#

Posted: September 15th, 2008 | Author: Ahmet Kakıcı | Filed under: Programlama, Yazılım | Tags: , , , | 5 Comments »

C programlama dilini öğrenme aşamasında en çok dikkat edilecek noktalardan biri kuşkusuz pointer kavramıdır. Web programlama dillerinden C ve türevi dillere geçenlerin de en çok zorlandığı konu sanırım yine pointer konusudur.

Derleyicilerin kendi bileşenleri (component) çıkmaya başladığında bir nevi alt seviye kodlardan bizi uzaklaştırdı. Daha sonra Java ve .NET dillerinde hazır gelen kütüphaneler ile artık pointerdan bir hayli uzaklaşmış durumdayız. [ Bu konu hakkında Faruk Enes'in çok güzel bir yazısı var ] . Ancak bazı durumlar oluyor ki pointer kullanmadan işin içinden çıkmanın maliyeti oldukça yüksek oluyor.

Görüntü işleme ile uğraşmaya başladığımda C++ kullanıyordum ve pointerlar ile güzelce geçiniyordum. Ne zaman Visual Studio kullanmaya başlayıp C#’a geçiş yaptım işte o zaman pointer ile ilk sorunumu da yaşadım. .NET ile gelen GDI fonksiyonlarıyla resimlerden gerekli bilgileri alıp işimi yapabiliyordum ancak C++ ile yaptığımdan kat kat yavaş işlem yapıyordum.

Ve sonrasında bu yazıya konu olan şeyi buldum :) .NET pointer’lara güvenlikten dolayı [ belleği korumak için ] güvenmiyor ve kullanımını da kısmen yasaklıyordu. Ancak illa pointer kullanacağım diyen kişiler için de açık bir kapı bırakmış:

Visual studio’yu açtığınızda [genelde] sağda bulunan Solution Explorer’dan Properties’e çift tıklayarak açılan pencerede soldan ‘Build’i seçin. Açılan sayfada ise ‘Allow unsafe code’ kutucuğuna bir tik attı mı bu iş bitiyor.

Bundan sonra aşağıdaki gibi unsafe kod bloğu içinde pointer kullanabilirsiniz.

unsafe
{
  // pointer kullanabileceğiniz bölge.
}



	p.jpg

Benzer yazılar:

  1. Yapay Sinir Ağlarına Giriş
  2. Görüntü İşleme Örnekleri
  3. Java ile Sohbet Programı
  4. C# ile Görüntü İşleme – 3


5 Comments on “Pointer ve C#”

  1. 1 RaMaZaN ULUÇAY said at 15:45 on September 16th, 2008:

    Selam Ahmet,

    Güzel bir yazı yazıp pointer nasıl kullanılabileceğine dair bilgi vermissin. Pointer kavramını hiç bilmeyen bir kişi nelere dikkat etmeli olduğunu da yazarsan daha faydalı olacağı kanısındayım.

  2. 2 Ahmet Kakıcı said at 18:34 on September 16th, 2008:

    Pointer kavranımı hiç bilmeyenler için nelere dikkat edilmeli gibi bir yazı blog yazısından çok bir makale konusu olur :)
    İnternette dediğin tür yazılardan fazlasıyla var [bkz.google] , benim bu yazıyı yazma sebebim bizzat yaşamış ve çözümü bulmakta zorlanmış olmam [ o ara internetten uzaktım :)]

  3. 3 Görüntü İşleme - C# | Ahmet Kakıcı said at 23:42 on November 23rd, 2008:

    [...] pointer kullanarak çalışıyor. C# ile nasıl pointer kullanacağınızı bilmyiorsanız şurada bulunan yazımı [...]

  4. 4 Alp Çoker said at 20:26 on December 2nd, 2008:

    C , C++ a ne kadar çok kullanırdık… C# da ihtiyacım olmadı , hiç araştırıp kullanmamıştım. Teşekkürler bilgi için.. Belki dediğiniz gibi performans açısından baya bir iyileştirme sağlıyordur. Araştırması gerekilen bir konu..

  5. 5 Ahmet Kakıcı said at 00:36 on December 3rd, 2008:

    Alp eğer görüntü işlemeye bulaşırsan aradaki farkı görürsün. PictureBox üzerinde yapılan işlemlere göre onlarca kat daha hızlı oluyor ;)


Leave a Reply