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

  • Andytokkallos

    Andytokkallo

    27 Kasım 2007
  • Cartoonium

    Cartoonium

    11 NİSAN 2011
  • Creavite

    Creavite

    8 Mart 2009