SORU
24 EYLÜL 2009, PERŞEMBE


Nasıl bir işlevi satır içi değil, gcc söyleyebilir miyim?

Bir kaynak dosya içinde bu küçük işlevi var

static void foo() {}

ve benim ikili iyileştirilmiş bir sürümünü kurdum henüz bu işlevi inlined (iyileştirme amaçlı) istemiyorum. bu satır içi uygulaması önlemek için kaynak kodu ekleyebilirim bir makro var mı?

CEVAP
24 EYLÜL 2009, PERŞEMBE


gccözel noinline öznitelik istiyorum.

Bu işlev, nitelik engeller fonksiyon için düşünülen satır içi uygulaması. Eğer işlev değilse orada yan etkileri var optimizasyon bu satır içi uygulaması dışında işlev çağrıları optimize edilmiş olur işlev çağrısı olsa da uzaklıkta, canlı. Gelen bu tür aramaları tutmak için uzakta, koy optimize asm ("");

Bu gibi kullanabilirsiniz:

void __attribute__ ((noinline)) foo() 
{
  ...
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • magnum33563

    magnum33563

    8 NİSAN 2011
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009