SORU
14 NİSAN 2009, Salı


C99 '' anahtar kelime sınırlamak gerçekçi kullanımı?

Bazı belgelere ve soru/cevap ile tarama ve söz gördüm. Kısa bir açıklama, temel olarak işaretçi başka bir yere işaret kullanılmayacak programcı bir söz olacağını belirten okudum.

Herkes kendi değer aslında bu kullanarak bazı durumlarda gerçekçi bir teklif sunabilir mi?

CEVAP
14 NİSAN 2009, Salı


restrict işaretçi temel nesne erişen tek şey olduğunu söylüyor. Pointer aliasing potansiyeli, derleyici tarafından daha iyi optimizasyon sağlayarak ortadan kaldırır.

Örneğin, hafıza numaraları vektörler çarp özel talimatları ile bir makine olduğunu varsayalım ve aşağıdaki kodu var:

void MultiplyArrays(int* dest, int* src1, int* src2, int n)
{
    for(int i = 0; i < n; i  )
    {
        dest[i] = src1[i]*src2[i];
    }
}

Derleyici düzgün olursa dest, src1, src2 üst üste gelirse başa, baştan sona, bir defada bir çarpma, gerek anlam gerek. restrict, alarak derleyici vektör yönergeleri kullanarak bu kodu optimize etmek için ücretsiz.

EDİT: Wikipedia başka bir örnek, here ** 4, bir giriş vardır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006