Merhaba yazılımperver arkadaşlar. Bu yazımda android için yazılım geliştirirken sıklık ile kullanmış olduğumuz emülatörlere ilişkin işiniz kolaylaştıracağını düşündüğüm bir takım ipuçlarını sizler ile paylaşacağım. Genelde ben android için yazılım geliştirmek için de VS (Visual Studio) kullanıyorum (yakında kotlin ile Android studio’ya ya da başlayacağız inşallah) ve o sebeple Android studio kurulu değil. Android te artık… Continue reading
Post Category → Android
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:
1 |
ADDS R0, R1, R2 |
kodu
1 2 3 4 5 |
ARM durumunda E0910002 / 11100000 10010001 00000000 00000010 Thumb durumunda ise 1888 / 00011000 10001000 |
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:
VS 2017 ile C/C++ Kütüphanelerin (SDL) Android için Oluşturulması
Evet arkadaşlar başlıktan da anlaşılacağı üzere bu yazımda sizler ile SDL 2.0.7. (mevcut yayınlanmış son sürüm SDL)’i VS ile Android için oluşturma için gerekli adımlardan bahsedeceğim. Öncelikle bu yazımda kullandığım kodları ve temel alt yapıyı Matt Style’s ın şu yazısından aldığımı söylemem gerek. Kendisi oldukça güzel bir şekilde gerekli adımlardan kısaca bahsetmiş. Ben ona ek… Continue reading
Android NDK ile uğraşırken dikkat edilecekler :)
Evet arkadaşlar C++, GitHub derken nereden çıktı bu NDK diyebilirsiniz ama eğer elinizde hazır C++ kütüphaneleriniz var ve bunu hızlı ve performanslı bir şekilde Android platformunda kullanmak istiyorsanız en iyi yöntem NDK (Native Development Kit). NDK her ne kadar google tarafından resmi olarak önerilmese de, yüksek performans ve çoklu platform desteği için olmazsa olmaz. Ben… Continue reading