[:tr]Haftalık C++ 2 – Konteynerler ve sıralı tutma [:en]Weekly C++ 2 – Containers and keeping sorted [:]

[:tr]Merhaba arkadaşlar, Haftalık C++ kod örneklerimize devam ediyoruz. Bu haftaki problemimiz std::vector gibi konteynerlere (nedir arkadaş bu STL konteyner sevdası yahu 🙂 duyar gibiyim) bir yandan veri eklerken bir yandan da bunları sıralı tutabilir miyiz? Bu probleme geçmeden önce konteyner konusuna ufak bir eğilelim, çünkü buradaki problemi çözerken bir miktar değinmemiz gerekecek. Bu sınıfların detaylarına… Continue reading →

[:tr]Oyun Döngüleri – Örnek Kodlar[:en]Game Loops – Example Code[:]

[:tr]Herkese merhabalar, Bir süre önce, oyun döngüleri ile ilgili olan yazıma bakıyordum ve yazı içerisindeki örnekler dışında örnek kod koymadığımı fark ettim (ayıp ama 🙂 Madem artık git sayfamızı da açtık, aşağıdaki yazımda bahsettiğim döngü yaklaşımlarına ilişkin örnekler ekleyeyim dedim. Game Loops Bir yandan da bu örnekleri daha anlamlı hale getirmek adına, döngüler yanında bir… Continue reading →

[:tr]Haftalık C++ – 1 (“Erase-remove idiom”)[:en]Weekly C++ – 1 (“Erase-remove idiom”)[:]

[:tr]Merhaba sevgili Yazılımperver dostlarım. Bu yazım ile birlikte yeni bir yazı serisine (Haftalık C++) yelken açıyoruz. Bu yazılar, daha önce Modern C++ başlığı ile yoğun bir şekilde işlediğimiz C++ 11 yazılarına nazaran çok daha kısa kod parçaları veya konular içeriyor olacak. Bu kodların büyük kısmını, benim kullandığım kodlardan, ya da kitap veya internette gördüğüm kütüphane… Continue reading →

Android – SDL 2.0.8 Güncellemesi

Merhabalar arkadaşlar. SFML’den sonra SDL’e de bir el atayım dedim ve SDL’i de 2.0.8 sürümüne güncelledim. Aşağıdaki adresten ilgili ambara ulaşabilirsiniz. https://github.com/yazilimperver/SDL2 Değişiklikler: SDL 2.0.8 Güncellemesi, Visual Studio 2017 android güncellemelerinin uygulanması, Örnek gradle projesi (henüz çalışır halde değil ne yazık ki 🙁

VS 2017 ile C/C++ Kütüphanelerin (SFML) Android için Oluşturulması

Tekrar merhaba yazılımperver dostlarım. SDL2’den sonra çoklu platform çalışmalarım için (öncelikle android tabiki) bir süredir kullanmayı planladığım SFML kütüphanesine ilişkin ilk kümeyi hazırladım. Bu amaçla son sürüm olan SFML 2.5.0’ı baz aldım. Ne yazık ki şimdilik sadece X86 ABI’lar için başarılı bir şekilde kullanabildim. Her ne kadar kütüphaneleri başarılı bir şekilde oluştursam da, bir türlü… Continue reading →

Android İpucu – Thumb Modu

Android veya Arm işlemciler için yazılım geliştiren arkadaşlar VS içerisindeki “General->Project Defaults” altındaki “Thumb Mode” ayarı sizlerin de merakınızı cezbetti mi?
Bu çok kısa yazımda bu ayardan çok kısaca bahsedeceğim. Bu konu hakkında daha detaylı bilgi için aşağıdaki referansları karıştırabilirsiniz. Bu yazımda da Stackoverflow’daki cevaplardan faydalandım.

ARM işlemciler iki temel komut seti sunuyorlar:

  • ARM: Buradaki bütün komutlar 32-Bit uzunluğunda,
  • Thumb: Burada ise çoğu komut 16-Bit olmak ile birlikte bazı 32-Bit komutlar da sunulmakta.

Hangisini kullanacağınızı VS de olduğu gibi yazılımı oluştururken belirliyorsunuz ve bunlardan çalışma zamanında sadece biri aktif olmakta (Thumb ise komutlar Thumb komut setine göre ayrıştırılır, ARM ise ARM komut satırına göre).

Her ne kadar bunlar farklı komut satırları olarak da görünseler, aslında aynı kabiliyetlerı sunarlar ve aynı Assembly kodları ile ifade edilirler.
Ör:

kodu

olarak ifade ediliyor. Elbette bu iki komutta aynı işlevi yerine getiriyorlar sadece kodlama türleri ve uzunlukları farklı. Thumb’ta bulunan her komutun ARM’da da bir karşılığı bulunmaktadır.

Gelelim Android durumuna. Varsayılan olarak Android Thumb setini kullanıyor, çünkü bu daha kompak kod üretiyor ve kod biraz daha küçülüyor (tabi burada da anlatıldığı üzere bu küçülme öle yarıya inme kadar olmuyor).

Kısaca söylemek gerekirse Thumb ile oluşturulan kodlar biraz daha yavaş olsa da, ARM ile oluşturulan kodlara göre daha kompak oluyorlar. Hikayenin özeti bu 🙂

Bir sonraki paylaşımda görüşmek üzere.

Kaynaklar: