SORU
23 HAZİRAN 2009, Salı


Neden C matematik kitaplığı bağlantı var mı?

Eğer ben dahil <stdlib.h> <stdio.h> C program yok link bu derleme, ama bağlantı için <math.h> kullanarak -lm gcc, örneğin:

gcc test.c -o test -lm

Bunun nedeni nedir? Neden açıkça matematik kitaplığı bağlantı var ama diğer kütüphaneler olmaz mı?

CEVAP
23 HAZİRAN 2009, Salı


Fonksiyonları stdlib.h stdio.h uygulamaları libc.so (libc.a statik bağlama), bağlantılı halinde yürütülebilir varsayılan (gibi -lc belirtilen). GCC -nostdlib -nodefaultlibs seçenekleri ile bu otomatik bağlantı önlemek için talimat olabilir.

math.h matematik fonksiyonları libm.so (veya statik bağlama için libm.a) uygulamaları, libm varsayılan olarak bağlantılı değil. Vardırhisterik kuru üzüm*/libc *17 Bu split için, hiçbiri çok inandırıcı tarihsel nedenler.

İlginçtir, C libstdc libm, GCC (g ) ile bir C programını derleme, otomatik olarak libm bağlantılı ve çok çalışma gerektirir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • katherine gomez

    katherine go

    1 Aralık 2011
  • Perihelion

    Perihelion

    23 NİSAN 2008
  • tychoadragmire

    tychoadragmi

    20 Mart 2006