system programming etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
system programming etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

19 Eylül 2012 Çarşamba

Linux Yazılım Geliştirme Araçları Eğitimi


  Gömülü sistemler üzerinde çalışabilmek için önkoşul olarak pek çok uygulamayı tanımak zorundayız. Adeta işe başlamadan önce gerekli bütün alet-edevatı çantamıza koyup gerektiğinde hemen kullanabilmek üzere hazır tutmak gibi bir durumdur bu. O nedenle gömülü sistemlerde iyi ve disiplinli yazılım geliştirebilmek, geliştirdiğimiz uygulamayı analiz edebilmek ve performans testlerini yapabilmek için tanımamız gereken pek çok faydalı uygulamaya bu eğitimde yer vermekteyiz.

  Bu eğitim aynı zamanda "Embedded Linux Eğitimi" için giriş mahiyetindedir.

  • Linux İşletim Sistemine Genel Bakış
  • Geliştirme Ortamının Hazırlanması:
      autoconf, libtool, make, cmake,
      git, netbeans, meld ..
  • Dökümantasyon ve Manual Dosyaları:
      manpages, manpages-posix, manpages-posix-dev
      libstdc++6-4.4-doc
  • Derleyici ve Bağlayıcılar:
      derleme ve bağlama işlemleri   makefile ve CMakeList örnekleri
       make ve cmake kullanımı
  • Kütüphaneler:
      statik ve dinamik kütüphaneler
      kütüphane oluşturma ve kullanma
      addr2line, ar, nm, readelf, strip araçları
  • Karşılaştırma Araçları:
      cmp, diff, meld
  • IDE'ler: Eclipse, Netbeans
  • Kaynak Kod Takibi (source controllers):
      cvs, svn, perforce
      git, gitk, gitg, tig
      github, gitorious, bitbucket
  • C/C++ Kod Optimizasyonu:
      derleme ve çalışma zamanı optimizasyonları
      derleyici uyarı ve optimizasyon seçenekleri
      debug ve release modda derleme
  • Statik Kod Analizi:
      lint, cppcheck
  • Uygulama Profili Çıkarma ve Performans Analizi:
      valgrind, cachegrind, helgrind,
      perf, oprofile
  • Hata Ayıklama (debugging):
      gdb, gdbtui, gdbserver, remote debugging

9 Eylül 2012 Pazar

Temel C++ Programlama



    C++ programlama dili, C diline göre büyük bir dildir ve derleyicileri memnun etmek için pek çok kurala sıkı uyumluluk gerektirir. Öğrenme ve uygulamasının zorluğunu kabul etmekle beraber dile yeterince hakim olunduğunda bütün ihtiyaçlarınızı güçlü bir şekilde yerine getirebilme kabiliyetindedir. C++ dilindeki OOP özellikleriyle hızlı geliştirmeler yapabilir ve binlerce açık kaynak kodlu C++ kütüphanesinden faydalanıp istediğiniz programları geliştirebilirsiniz.

    Eğitimimizde C++ dilini büyük projeler için nasıl kullanabileceğinizi ve açık kaynak kodlu bir projeyi inceleyerek C++ kodlama tekniklerini de öğreniyor olacaksınız.

    C++ dili Google'da kabul edilen ve aktif olarak kullanılan üç dilden biridir.

  • ANSI C++ Temel Özellikleri
  • Veri Tipi, Statik/Otomatik Ömürlülük
  • Sınıflar ve Bilinirlik Alanı (Scope)
  • Operatörler
  • Koşul İşleçleri
  • Döngüler ve Switch Deyimi
  • Göstericiler (Pointers)
  • İşlevler I (Functions I)
  • C'den C++'a Geçiş
  • Veri Tipleri ve Kullanımı (Handling Data)
  • İşlevler II (Functions II)
  • Obje Yaratma ve Kullanımı
  • Dinamik Bellek Yönetimi
  • Kopyalama ve Atama Constructor Fonksiyonları
  • Türetme (Inheritance)
  • Streaming I/O
  • OOP Konsepti
  • Şablonlar (Templates)
  • C Dilinde kullanılan String'ler
  • C++ String Sınıfı ve Özellikleri
  • İstisnalar (Exceptions)
  • C++ Program Yapısı
  • C/C++ Kodlarını Birlikte Kullanma
  • C++ Kodlama Hatalarını Azaltma Yöntemleri
  • Çokbiçimlilik (Polymorphism)
  • Çoklu Türetme (Multiple Inheritance)
  • Operatör Yüklemesi (Operator Overloading)
  • Standart Şablon Kütüphanesi (STL)