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

  • guau . .

    guau . .

    25 Ocak 2008
  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008