Başlık dosyalarında hiçbir şey tanımlamamanız gerektiğini, çünkü birden fazla tanımlamanın olasılığından dolayı, ancak koruma görevlileriniz varsa, bu olmamalı, değil mi? Değişkenlere extern eklemek için başka nedenler var mı?extern değişkeni - neden?
6
A
cevap
12
Yalnızca bir üstbilginin tek bir translation unit (derleme birimi) içerisine birden fazla dahil edilmesini engelleyen korumaları dahil et. Bu, bağlantı zamanındaki ayrı çeviri birimlerinden çoklu tanımların problemini çözmez. Bu nedenle, kaynak (.c) dosyalarında yalnızca bildirimleri başlık (.h) dosyalarına ve tanımları belirtmelisiniz. Değişken bir kaynak dosyası (daha spesifik olarak, bir çeviri birimi) tanımlanan ve başka başvurulan zaman
1
Genellikle başlık dosyalarında extern
değişkenleri bildirmek.
İlgili konular
- 1. extern değişkeni çok tanımlı bir hataya neden oluyor
- 2. "extern const" ile "extern" sadece
- 3. C++ extern eşittir C#
- 4. extern enum
- 5. "FOUNDATION_EXPORT" vs "extern"
- 6. Rust'ta extern fn ve extern "C" fn arasındaki fark nedir?
- 7. int * const AND extern int *
- 8. Haskell - Belirsiz tip değişkeni, neden?
- 9. C de değişken için extern ihmal, ama hala çalışır?
- 10. PHP - neden statik const değişkeni bildiremedim?
- 11. değişkeni
- 12. Boyutu extern const olarak bildirilmiş bir dizi bildirme
- 13. extern extern ve statik konusunda okuduktan sonra "C" static void * işlevi
- 14. model değişkeni yazdırma değişkeni
- 15. OCaml global değişkeni değişkeni
- 16. C++: extern ve satır içi işlevler
- 17. Bu extern "C" nin nasıl algılandığı
- 18. ImportError: Extern adında bir modül yok
- 19. extern NSString, Swift 2.2'den beri erişilemiyor
- 20. extern "Statik geri çağırma fonksiyonu için" C "
- 21. Neden java'da iç anonim sınıftaki final olmayan değişkeni belirtmek imkansızdır?
- 22. Java'da kurucu tarafından başlatılmadan örnek değişkeni neden ve nasıl başlatılır?
- 23. Neden üye olmayan bir üye değişkeni üye işlevinde kullanabilirim? Örneğin
- 24. JS değişkeni "kaybolur" neden olmadan ve boş olur
- 25. Neden fork() aynı değişkeni ancak farklı değeri kullanıyor?
- 26. Bu değişken bildirimde neden bu değişkeni kendisine atar?
- 27. JavaScript: Neden argüman değişkeni değiştiriliyor? Arguments` dizisi değiştiriliyor?
- 28. Neden -2500000000 için doğrudan bir __int64 değişkeni ayarlayamıyorum?
- 29. Kapsam değişkeni neden görünümde veya denetleyicide gösterilen yönerge kapsamında tanımlanmıyor?
- 30. Referans değişkeni nesne değişkeni içinde mi?
Şimdi anlıyorum. Teşekkür ederim :). – someguy