Nasıl bir işlevi satır içi değil, gcc söyleyebilir miyim? | Netgez.com
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

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006
  • Top10Series

    Top10Series

    26 Kasım 2008