Basit bir kol örneğinin sökülmesini beklediğimi hatırlıyorum ve yerliler'dan ziyade registers
'da depolanmış gibi görünüyor. Bu kol için her zaman doğru mu?Arm Cortex mimarisinde yerel değişkenler kayıtlarda veya yığında depolanıyor mu?
cevap
Biri veya diğeri veya ikisi birden. Tür, değer, sayı, boyut, mimari, kayıt sayısı, kayıt ücreti, ayın fazı, Jon Skeet'in bu sabah yataktan kaçta kaldığına bağlı.
Yerel değişkenlerin depolanması, özellikle işlemci mimarisi yerine derleyici için bir sorundur. Ayrıca, derleyici optimizasyonu etkinleştirildiğinde kayıt deposunu kullanma olasılığı daha yüksektir.
Herhangi bir derleyicinin bunu herhangi bir mimaride yapması olasıdır, ancak x86 ile karşılaştırıldığında, ARM daha büyük ve daha ortogonal bir yazmaç kümesine sahiptir, bu nedenle ARM kodunda kayıt deposunu gözlemleme olasılığınız yüksektir.
Elbette, yığın çok sayıda değişken olduğunda ve daha büyük birleştirme türleri için kullanılmaya devam edecektir. İyileştirici, kod akışını analiz edecek ve optimum performans için hangi değişkenlerin yazmaçlarda en iyi şekilde saklanacağını seçecektir.
- 1. Boost :: ARM Cortex-M üzerinde içerik?
- 2. ARM Cortex M3 üzerinde atomik int64_t
- 3. ARM Cortex M3 acemi için gerekli olan tavsiye
- 4. Yerel değişkenler
- 5. Yerel değişkenler
- 6. Veritabanı kaydı sayımları gereksiz depolanıyor mu?
- 7. std :: cout yığında tamamen çalışıyor mu? C++
- 8. MySQL yerel değişkenler
- 9. Postacıda "yerel" değişkenler nelerdir?
- 10. Arm-eabi-gcc ve arm-elf-gcc arasındaki farklar nelerdir?
- 11. ARM NEON SIMD sürüm 2
- 12. Başarılı kayıtlarda rol nasıl atanır?
- 13. C++ multithread güvenli yerel değişkenler?
- 14. ARM ölçeğini ARM
- 15. Moğol şemaya 'sanal' değişkenler ekleniyor mu?
- 16. LC3 Kod, yığında saklanıyor
- 17. Yığında anonim nesneler, C++?
- 18. Döngüler iç döngüleri ve yerel değişkenler
- 19. ARM şablonları arasında değişkenleri veya sabitleri paylaşma
- 20. Bir mikro hizmet mimarisinde mesajlaşma
- 21. Ofset yığında nasıl gelir?
- 22. Arm-eabi arm-gnueabi ve gnueabi-hf derleyicileri arasındaki farklar
- 23. Yerel Değişkenler Django Hata E-postaları İçerir
- 24. Yerel değişkenler ile String.Format kullanın C#
- 25. Python iç içe geçmiş işlevlerindeki yerel değişkenler
- 26. Çoklu öge, lambda ve yerel değişkenler
- 27. OpenMP: yerel değişkenler otomatik olarak özeldir?
- 28. Baremetal gömülü sistemler üzerinde profil oluşturma (ARM)
- 29. Git lfs yerel veya "yakın" ikincil depolama önbelleğini destekliyor mu?
- 30. Java Lambda İfadeleri "Gizli" veya Yerel Paket İthalatlarından Yararlanıyor mu?
Yüzlerce yerliye ne dersin? Muhtemelen görünüyor .... –
Bir aklı derleyici ve ABI göz önüne alındığında, genel amaçlı sicilleri olan hemen hemen her şey için geçerlidir. Bu onların bir önemi var ... – Notlikethat
Değişkenin bir adresini almanız gerekiyorsa? –