Archive

Archive for April, 2010

C ile Nesne Yaratmak

April 27th, 2010 1 comment

Evet kışkırtıcı bir başlık attım 🙂
Aslında yapacağımız olay bir structı nesne gibi kullanmak. Buna benzer bir kodu yıllar önce görmüştüm. O günden bu güne sürekli böyle bir şeyi nasıl yaparım diye araştırdım. Anca bugün çözebildim olayı 😉
Kodu aşağıda yorum satırıyla beraber veriyorum. Yorumlarda gerekli açıklamaları yaptım.

Bu yazıyla C-3PO nun ne lakası var diyebilirsiniz. C ile resim ararken karşıma bu çıktı, bende boş durmasın dedim 🙂

/*                                                                                                                                                             
 * Sınıfımızı yaratıyoruz                                                                                                                                      
 */
struct _myobject {
  // alt alanlar                                                                                                                                               
  int a, b;
  /*                                                                                                                                                           
   * Metod                                                                                                                                                     
   * Burada fonksiyon pointerı tanımlıyoruz                                                                                                                    
   */
  int (*add)(struct _myobject*);
};

// struct ön ekinden kurtuluyoruz                                                                                                                              
typedef struct _myobject MyObject;

/*                                                                                                                                                             
 * Asıl işi yapacak fonksiyonu tanımlıyoruz                                                                                                                    
 * MyObject structını parametre olarak alıyor                                                                                                                  
 */
int realAdd(MyObject* a) {
  return a->a + a->b;
}

int main ( void ) {
  /*                                                                                                                                                           
   * Nesnemizi oluşturuyoruz.                                                                                                                                  
   * add pointerına fonksiyonu atıyoruz                                                                                                                        
   */
  MyObject mo = {1, 2, realAdd};
  printf("A + B = %d\n", mo.add(&mo));
  return 0;
}

Kodun başına stdio.h headerını eklemekte fayda var. WP sıkıntı çıkarttığı için silmek zorunda kaldım. Kodun düzgün halini burada bulabilirsiniz.

Categories: Gezegen, Programlama Tags: , , ,

Yeni Tema Yeni Heyecanlar

April 9th, 2010 3 comments

WordpressUzun bir aradan sonra temamı değiştirdim. Önceki temayı çok sevmiştim, hala da seviyorum fakat biraz sıkıldım ondan. Yazı alanı da küçük olunca vazgeçmek kolay oldu 🙂
Yeni temamı daha önce mutlaka görmüşsünüzdür. Çok sık kullanılan temalardan birisi. Hep hoşuma gitmişti kendisi. Kullanınca daha da hoşuma gitti 🙂

Categories: Günlük Tags: , ,

Gtk <= 2.18.9 Pencere Gizleme Sorunu

April 8th, 2010 No comments

GtkGece gece uyku tutmadı var olan bir programı kurcalamaya başladım. Amacım programın sitem çekmecesinden çalışabilir hale getirmekti.

Her şeyi yaptım fakat bir türlü pencereyi gizleyemiyordum 🙂 Doküman gtk_window_get_mnemonics_visible () fonksiyonunu kullanmamı söylüyordu, fakat kullandığım gtk sürümünde bu fonksiyon tanımlı değildi(2.18.7). Eski sürüm için olan dokümanı incelediğimde bu işi yapan bir fonksiyon yoktu.
Sistemde kurulu gtk ve python ile bu işi yapabiliyordum. Normal olarak c ile de yapabilmem lazımdı:)
Biraz inceledikten sonra, önce pencereyi gizleyen, ardından boyutunu eski haline getirip sonra tekrar gösteren bir fonksiyon olduğunu fark ettim. Benim istediğim işi yapıyor fakat yanında birde fazlalığı vardı.(gtk_window_reshow_with_initial_size)
İnternette biraz daha araştırıp umudumu kaybedince mecburen kaynak koda baktım.

grep -rHn gtk_window_reshow_with_initial_size *

bu komut bana gtk_window_reshow_with_initial_size fonksiyonun nerelerde olduğunu gösterdi.
Bu fonksiyonunun içine bakınca istediğim kodu hemen buldum 🙂

gtk_window_reshow_with_initial_size (GtkWindow *window)
{
  GtkWidget *widget;
  
  g_return_if_fail (GTK_IS_WINDOW (window));

  widget = GTK_WIDGET (window);
  
  gtk_widget_hide (widget);
  gtk_widget_unrealize (widget);
  gtk_widget_show (widget);
}

Önce pencereyi widgeta çevirebilme imkanım varmış, böyle basit bir şeyi nasıl bulamadım bilemiyorum.

Categories: Gezegen, Programlama Tags: , , , ,

Blogger’a Kendi Alan Adınızı Yönlendirme

April 8th, 2010 1 comment

BloggerDaha önce birkaç kez yapmıştım, fakat her seferinde neler yaptığımı unutup acaba olmadı mı diye kuşkulanmıştım. En güzeli böyle bir yere yazıp gerektiğinde kopya çekmek 🙂

Öncelikle bloggerda bir blogunuz olduğunu varsayıyorum 😀
Blooger hesabımıza giriş yapıyoruz.
Şu adımları takip ediyoruz.
Özelleştir -> Ayarlar -> Yayıncılık -> Özel Alan-> Gelişmiş Ayarlara Geçiş Yapın
Buradaki kutuya alan adını yazın.
“Eksik dosya barındırma sistemini mi kullanıyorsunuz?” kısmını olduğu gibi bırakıp, kelime doğrulamayı yapıp ayarları kaydediyoruz.

Bu adımları geçtikten sonra google tarafında yapılacak ayarları tamamlamış oluyoruz.
Alan adınızın bloggera yönlenmesi için CNAME kaydı oluşturmanız gerekiyor. Bunu alan adını aldığınız yerden yapacaksınız.
CNAME kaydına değer olarak ghs.google.com adresini vermelisiniz. Domain firmanızın güncellenme hızına göre alan adının aktif olma süresi değişecektir.

Toplam 2 adımdan oluşuyor. Akılda tutmak kolay ama alan adının yönlenmesi biraz zaman aldığından dolayı insanın içinde bir şüphe oluyor her zaman 😛

Categories: Gezegen, İnternet Tags: , , , ,