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

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • fufko

    fufko

    27 ŞUBAT 2006
  • SignatureSeries

    SignatureSer

    24 Aralık 2006