SORU
27 Mart 2009, Cuma


Ne kadar ayak izi C özel durum işleme ekleme

Bu sorun özellikle gömülü gelişimi için önemlidir. Özel durum işleme oluşturulan ikili çıkış için bazı ayak izi ekler. İstisnasız diğer taraftan, hatalar sonunda da ikili boyutunu artırır ek kod gerektiren başka bir şekilde ele alınması gerekiyor.

Deneyimlerinizi ilgileniyorum, özellikle:

  1. Ortalama ayak izi özel durum işleme gibi ölçümleri (varsa) için derleyici tarafından eklenen nedir?
  2. Özel durum işleme çok daha pahalı (çoğu böyle), diğer hata işleme stratejileri daha ikili çıktı boyutu açısından?
  3. Ne hata işleme stratejisi gömülü geliştirme için önerirsiniz?

Sorularıma tek rehber olarak alın lütfen. Herhangi bir giriş hoş geldiniz.

Ek: herhangi bir somut bir yöntem/script/aracı, belirli bir nesne C/yürütülebilir gösterir yüzdesi yüklü bellek ayak izi olduğunu kapladığı derleyici tarafından üretilen kod ve veri yapıları adanmış özel durum işleme?

CEVAP
27 Mart 2009, Cuma


Ne zaman bir özel durumoluşursize özel durum işleme uygulamak nasıl bağlıdır zaman yük olacaktır. Ancak, anekdot, bir özel durum neden olmuş bir olay şiddeti o kadar zaman işlemek için başka bir yöntem kullanarak alacak. Neden bu tür sorunları ile ilgili son derece desteklenen dil tabanlı yöntemi kullanır?

GNU C derleyicisi varsayılan olarak sıfır maliyet modeli yükü özel durumlar ortaya yok zaman yok yani kullanır.

Bilgi teknolojileri hakkında özel durum işleme Kodu ve uzaklıklar yerel nesneler olabilir hesaplanmış bir kez derleme zamanında, bu tür bilgileri tutulabilir tek bir yer ile ilgili her fonksiyon, ama her ARİ. Aslında her ARI istisna yükü kaldırmak ve böylece ekstra zaman yığının üstüne onları itmek kaçının. Bu yaklaşım, istisna işleme ve sıfır maliyetli bir model olarak adlandırılır ve optimize edilmiş depolama daha önce de belirttiğimiz gölge yığını olarak bilinir. - Bruce, C Birim 2 Düşünce Eckel

Karmaşıklık havai kolayca ölçülebilir ama Eckel değil Boyutu 5 ve yüzde 15 ortalama Birleşik Devletleri. Bu uygulama, kod boyutuna oranı özel durum işleme kodu büyüklüğüne bağlıdır. Eğer programınız küçük ise o zaman özel durumlar ikili büyük bir parçası olacak. Eğer kullanıyorsanız sıfır maliyetli istisnalar eğer uzay hakkında bakım eğer daha fazla yer zaman yükü kaldırmak için, daha model ve sıfır maliyetli derleme kullanmayın daha zamanı değil.

Benim görüşümçoğu gömülü sistemler eğer sisteminiz C compiler varsa özel durumlar için yeterli alanınız ölçüde bellek bol var. PC/104 bilgisayar benim proje kullanan var birkaç GB ikincil bellek, 512 MB ana bellek, bu nedenle hiçbir sorun alanı için özel durumlar olsa da, bizim micorcontrollers vardır programlanmış C. Benim sezgisel "bir ana C derleyicisi için, kullanım istisnaları, aksi takdirde C".

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • TechXCentral

    TechXCentral

    12 Temmuz 2011