SORU
14 EKİM 2011, Cuma


'arasında " fark;durağan" ve "statik satır içi" fonksiyonu?

IMO her iki birim sadece, tercüme bir kapsam için işlev yapmak

arasındaki fark nedir "" ve "statik satır içi" işlevi? statik

GÜNCELLEME

neden inline başlık dosyası .c dosyası koymak gerekir?

CEVAP
14 EKİM 2011, Cuma


inline derleyici bildirirgirişimibu işlev, gerçek bir arama yürütmek yerine çağıran kodun içine gömmek içerik.

Sık sık adı verilen küçük fonksiyonlar için büyük bir performans fark yaratabilir.

Ancak, bu sadece bir "ipucu", ve derleyici olabilir görmezden, ve çoğu derleyici çalışacağız "satır içi" bile anahtar sözcük kullanılmıyor, bir parçası olarak iyileştirmeleri, nerede mümkün.

örneğin:

static int Inc(int i) {return i 1};
.... // some code
int i;
.... // some more code
for (i=0; i<999999; i = Inc(i)) {/*do something here*/};

Bu sıkı döngünün her yineleme üzerinde bir işlev çağrısı yapacak, fonksiyon ve içerik aslında derleyici arama gerçekleştirmek için gereken kodu önemli ölçüde daha az. inline aslında bir eşdeğeri: yukarıdaki kodu dönüştürmek için bir derleyici eğitecektir

 int i;
 ....
 for (i=0; i<999999; i = i 1) { /* do something here */};

Gerçek işlevi atlama arayıp dönüş

Belli ki bu nokta, kod gerçek bir parçası olmadığını göstermek için bir örnektir.

static kapsam ifade eder. C değişken/fonksiyon sadece aynı çeviri birimi içinde kullanılabilir anlamına gelir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • SuicideSheeep

    SuicideSheee

    8 Ocak 2012