C programlama dilinde header dosyaları derlenmezler ve header dosyalarında genellikle fonksiyon bildirimleri, global değişken bildirimleri, ön işlemci komutları (macrolar), tür bildirimleri ve tanımları bulunur. Daha sonra bu header dosyaları ilgili kaynak dosyalarına #include ön işlemci komutu ile eklenirler. Header dosyalarının kaynak dosyalara birden fazla include edilmesini engellemek için “inclusion guard” diğer ismiyle “Header Guard” koruması kullanılmaktadır. Aşağıda “inclusion guard” yapısını göreceğiz.
1 2 3 4 5 6 |
#ifndef ADC_H #define ADC_H /* Header dosyasında bulunan bildirimler buraya yazılır. */ #endif |
“Inclusion guard” ön işlemci komutlarından oluşur ve amacı header dosyasının aynı kaynak dosyaya birden fazla include edilmesini önlemektir. ADC_H macrosu için bir syntax kuralı yoktur fakat semantik olarak header dosyasının adı ile ilişki içerisindedir ve büyük yazılır.
“Inclusion guard” yaratmanın bir diğer yoluda yukarıdaki #ifndef ön işlemci bloğu yerine #pragma once kullanmaktır. Bu kullanımda header dosyalarımız için “inclusion guard” sağlar.