SORU
15 EYLÜL 2008, PAZARTESİ


Neden dışarıdan "" C gerek var mı;{ #include <foo.h> } C ?

Özellikle:

  • Ne zaman kullanılmalıdır?

  • Bizi kullanmayı gerektiren derleyici/bağlayıcı düzeyinde neler oluyor?

  • Nasıl derleme/bağlama açısından bu bizi kullanmayı gerektiren problemleri çözer mi?

CEVAP
15 EYLÜL 2008, PAZARTESİ


C ve C yüzeysel benzer, ama her kod bir çok farklı derler. Bir başlık C compiler ile dosya eklediğinizde, derleyici C kodu bekliyor. Eğer, ancak, ben bir C başlık, sonra derleyici bekliyor verileri üstbilgi dosyası için derlenmiş belli bir biçim—C 'ABİ', ya da 'Uygulama İkili Arayüzü', yani linker ağlatıyor. Bu fonksiyon C veri bekliyor C veri iletimi tercih edilir.

(Girmek gerçekten işin cesur, C 'ler ABİ genellikle 'parçalar' adları işlevleri/yöntemleri, bu nedenle arama printf() işaretleme olmadan prototip olarak bir C fonksiyonu, C olacak aslında oluşturmak kodunu çağırma _Zprintf, artı ekstra bok sonunda.)

Yani: bir c başlık—bu kadar basit bir şey de dahil olmak üzere extern "C" {...}; kullanın. Aksi takdirde, derlenmiş kod uyuşmazlığı olacak ve linker boğulur. En başlıkları, ancak, sana ihtiyacım olmayacak extern çünkü çoğu sistem C başlıkları olacak zaten hesabın gerçek olabilirler dahil ile C kodu ve zaten extern kendi kodunu.

Şerefe!

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011