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

  • Ampisound

    Ampisound

    12 Kasım 2006
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008
  • Showtime

    Showtime

    21 HAZİRAN 2006