Ön ek başlığı - Prefix header

İçinde bilgisayar Programlama, bir önek başlığı bazılarında bulunan bir özelliktir C veya C ++ derleyiciler her dosyanın başına belirli bir kod parçacığının eklenmesini sağlamak için kullanılır.

Genel Bakış

İçinde C ve C ++ programlama dilleri, a başlık dosyası bir dosya metni başka bir kaynak dosyaya eklenmiş olan derleyici, genellikle kullanımı ile derleyici yönergeleri kaynak dosyanın başlangıcında. Bir önek başlığı, normal bir başlık dosyasından farklıdır. otomatik olarak herhangi bir derleyici yönergesi kullanılmadan derleyici tarafından her kaynak dosyanın başına eklenir.

Önek başlıkları genellikle önceden derlenmiş derleme sürelerini azaltmak için. Önek başlıklarının bu amaç dışında kullanılması, kodunuzun bakımını daha zor hale getirebilir ve daha az yeniden kullanılabilir hale getirebilir.[1]Ön ek üstbilgileri, çapraz platform desteği için de kullanılabilir. Açık * NIX sistemler için, derleme zamanında (gibi bir şey aracılığıyla) bir config.h başlık dosyasının oluşturulması yaygındır. autoconf ) sistemin yeteneklerini açıklayan. Ancak, Visual Studio veya Xcode gibi belirli derleme sistemlerini kullanırken bu config.h kullanılamayabilir. Bunu çözmek için bir teknik, HAVE_CONFIG_H'nin bir config.h oluşturan yapı sisteminde önceden tanımlanmış bir makro olmasını sağlamaktır, böylece kod #include config.h gerekip gerekmediğini bilir (& bunu yapan derleme sistemleri tarafından kullanım için güvenlidir) sahip değil). Bir alternatif, derleme sisteminin HAVE_CONFIG_H'yi tanımlamak yerine config.h'yi önek başlığı olarak eklemesi olabilir. Elbette dezavantajı, bu başlığın yalnızca açıkça içerenlere değil, her derleme birimine eklenmesidir.

Misal

Açık Mac OS X, Xcode build system yeni projeler için otomatik olarak önek başlıkları oluşturur. Yeni Kakao proje, örneğin, şuna benzeyen bir önek başlığı alır:

#ifdef __OBJC__    #import #endif

Sonuç olarak, yukarıdaki başlık dosyalarının herhangi bir Amaç-C kod dosyası, ikinci bir dahil etme anlamına gelmez, çünkü #ithalat direktifi Amaç-C veya daha genel olarak #Dahil etmek kullanımı nedeniyle korumaları dahil et; bu nedenle bunlar unutulabilir, ancak savunulmaktadır[1] kaynak kodunu otonom ve tekrar kullanılabilir durumda tutmak ve kütüphane bağımlılıklarını netleştirmek için bunların açıkça yazılmasını sağlamak.

Diğer proje türleri için benzer önek başlıkları oluşturulur.

Ayrıca bakınız

Referanslar

  1. ^ a b "4 Yollu Önceden Derlenmiş Başlıklar Kodunuzu Engeller • Kaliteli Kodlama". Kalite Kodlama. 28 Şubat 2012. Alındı 17 Ağustos 2018.

Dış bağlantılar