29 Aralık 2011 Perşembe

C ve C++'ta İşaretçiler (Pointers): İşaretçi Türleri ve Diziler

Evet işaretçilere kaldığımız yerden devam ediyoruz. Şöyle bir işaretçi değişken bildirimi yaptığımızı düşünelim:

   int *ptr;

Bu işaretçinin gösterdiği değişkenin türünü neden tanımlamamız gerektiği üzerine düşünerek konumuza başlayalım.

Bunun nedeni,

   *ptr = 2;

yazdığımızda derleyicinin ptr ile gösterilen bellek konumuna ne kadar bayt kopyalayacağını bilmesi içindir. Eğer ptr bir tamsayı (integer) işaretçisi olarak bildirilmişse 2 bayt kopyalanacak, eğer uzun tamsayı (long) olarak bildirilmişse 4 bayt kopyalanacaktır. Aynı şekilde ondalıklı (float) ve çift duyarlıklı ondalıklı (double) sayılar için de uygun miktarda bayt kopyalanacaktır. Fakat işaretçinin gösterdiği türün tanımlanması derleyicinin, kodu farklı yöntemleri kullanarak yorumlamasına izin verir. Mesela bellekte bir satırda on tamsayıdan oluşan bir bloğumuz olsun. Bu on tamsayıyı tutmak için 20 bayt bellek ayrılacaktır.

27 Aralık 2011 Salı

C ve C++'ta İşaretçiler (Pointers)

Merhabalar, uzun zamandan beri blogumla ilgilenemedim. Bir süredir C ve C++'da önemli bir konu bir bel kemiği konusu olan İşaretçiler (Pointers) konusunda internette araştırmalar yapıyordum. İşaretçiler birçokları için korkulu bir rüya. Ancak işaretçiler konusu anlaşılmadan tam anlamıyla bir C programcısı olmak çok zor hatta imkansız. Bu konuda internete bulduğum bir dökümandan biraz yazmak istiyorum.

İşaretçiler kapsam olarak çok geniş. Ancak yazı kısa tutulmuş ve en basit konu olan değişken kavramından başlayarak aşama aşama ilerlenmiş. Son olarak fonksiyon işaretçileriyle konu tamamlanmış.

Hazırsak başlayalım.

3 Ağustos 2011 Çarşamba

CSS Float Nedir?

Bu yazıda örnek kullanım şekilleriyle bu temel CSS konusu üzerinde duracağız.

Float Nedir?
 Float basitçe kendisini taşıyan taşıyıcının sağ ya da sol tarafına kaydırılabilen bir kutudur (mesela bir div).

Bu kutu float uygulanarak sağ tarafa kaydırılmıştır.
Float'ın en temel özelliği, içerik parçalarını üst üste değil de yan yana düzenlemeye imkan sağlamasıdır (tablo kolonlarına benzer ancak daha iyi bir düzenleme imkanı sağlar). Bu da yazı kolonları ya da yandaki kutu gibi sayfaki elemanları ileri düzeyde konumlandırmaya imkanı sağlar.

Floatlar img elemanına ait align=left ve align=right özelliklerine de kısmen benzemektedir.

28 Ocak 2011 Cuma

Hantal Bilgisayarı Hızlandırmak

Eğitim gördüğümüz kurumdaki bilgisayarların yavaş olması çoğu zaman çileden çıkarıcı bir hal alıyor. Aslında sabır zorladığı için eminim manevi açıdan epey yol kat ettirir ama aciliyet gerektiren işlerde bu hantal şeylere biraz hareket katmak gerekiyor. Özellikle ram kaynaklı yavaşlamalara çözüm olarak kısa bir araştırma sonucu ulaştığım Ram Booster isimli ram düzenleyici programı paylaşmak istedim. Program sayesinde kullanmış olduğum hantal taş devrinden kalma bilgisayar bile şaha kalktı. İnşallah ihtiyacı olanların faydalanacağını umuyorum. Programı indirebileceğiniz internet sayfasına ulaşmak için tıklayınız.

25 Şubat 2010 Perşembe

Lua ve C++'ın Birlikte Kullanımıyla İlgili Kısa Bir Ders

Lua'nın kullanımı oldukça kolay. Bu derste C++ içerisinde Lua callbackleriyle çalışan bir host programı nasıl yazacağımızı göreceğiz.

Statik Lua kütüphaneleri C'de yazıldığı için bunları programımıza aşağıdaki gibi import ediyoruz:

extern "C" {
   #include "lua.h"
}

int main()
{
   lua_State *L = lua_open();
   lua_close(L);
   return 0;
}


Yukardaki örneği derleyebilmek için bazı sistemlerde lualib.h ve lauxlib.h kütüphanelerini koda dahil etmeniz gerekmekte.

extern "C" {
   #include "lualib.h"
   #include "lauxlib.h"
}

23 Ocak 2010 Cumartesi

Hoşgeldin Firefox 3.6



Firefox 3.6 beta sürümü yayınlandı. Ve sonunda eklenti kurulumundan sonra Firefox'umuzu yeniden başlatma derdinden de kurtulduk. Fazla inceleme fırsatı bulamadım ama ilerleyen zamanlarda kurcalamaya devam edeceğim. En göz(üm)e çarpan özelliği ise tema desteği olmuş. Çok şık ve cicili bicili temalar da yine Firefox'un kendi sitesinden indirilebiliyor. Yine ilerleyen zaman içinde firefox için tema oluşturma konusunu da kurcalayacağım. Tabii ki edindiklerimizi de her zamanki gibi buradan paylaşacağız. Şimdiden hayırlı olsun..

19 Ocak 2010 Salı

Drupal mi? Deneyelim Bakalım..

Daha önce birçok İYS (CMS)'nin tadına bakmış birisi olarak bu İYS'lerdeki ortak sorunun tema geliştirme konusunda yeterince esnek olmayışı diyebilirim. Bu yazılımların içeriği yönetmesine diyeceğim yok ancak esnekliği konusunda tatmin edici sonuçlar alamadım. Nasıl yani? Şöyle ki; her içerik yönetim sisteminin kendine has xml/html karışımı bir dili ve kendine has komutları var. Dolayısıyla içerik yönetimi konusunda sundukları avantajı aynı oranda kişiselleştirilebilirlik konusunda sunmaktan çok uzaklar.