C++

C/C++ Header File Oluşturma | C Kütüphane Oluşturma

C/C ++ ‘da Header Dosyaları

C/C++ ‘daki çeşitli Header(Başlık) Dosyalarının olduğunun farkında mısınız? Bilmiyorsanız endişelenmenize gerek yok. Başlık dosyalarıyla ilgili her şeyi C/C++ dilinde inceleyeceğiz. Her programın çalışması için en az bir başlık dosyası gerekir.

Açıklamaya başlamadan preprocessor direktiflerinin neler olduğunu anlamak önemlidir. Bunlar, C ve C++ ‘daki başlık dosyalarının temel yapı taşlarıdır. “preprocessor” terimi kendinden açıklamalıdır. “Ön-pre” kelimesi “önce” anlamına gelir ve “işlemci-processor” kelimesi “bir şeyler yapmak” anlamına gelir. Kaynak kodu derlenmeden önce, preprocessor direktiflerinin varlığı nedeniyle otomatik olarak işlenir.

Öyleyse başlayalım ve size çeşitli şekillerde yardımcı olacak C/C++ header dosyalarının derinliğini keşfedelim.

1. C ve C++ ‘da Header Dosyası nedir?

C/C++ Standart Kitaplığı, kullanıcılarına, biri başlık dosyaları olmak üzere çeşitli fonksyionlar sunar.

C++ ‘da, tüm header dosyaları .h uzantısıyla bitebilir veya bitmeyebilir, ancak C’de tüm header  dosyalarının mutlaka .h uzantısıyla başlaması gerekir.

C/C++ ‘daki bir header dosyası şunları içerir:

  • Fonksiyon tanımları
  • Veri türü tanımları
  • Makrolar

Header dosyaları, bu özellikleri, #include adlı bir preprocessor yönergesinin yardımıyla programınıza aktararak sunar. Bu preprocessor yönergeleri, C/C++ derleyicisine bu dosyaların derlemeden önce işlenmesi gerektiğini bildirmekten sorumludur.

Her C programı, scanf() işlevi yardımıyla girdi almak ve çıktıyı printf() işlevini kullanarak görüntülemek için kullanılan standart girdi ve çıktı anlamına gelen <stdio.h> başlık dosyasını içermelidir.

C++ programı, “cin>>” işlevi yardımıyla girdi almak ve çıktıyı “cout<<” işlevini kullanarak görüntülemek için kullanılan girdi ve çıktı akışını ifade eden <iostream> başlık dosyasını içermelidir.

Bu örnekten, her C ve C ++ üstbilgi dosyasının kendisiyle ilişkilendirilmiş kendine özgü bir işlevi olduğu açıktır.

Temel olarak, başlık dosyaları 2 türdendir:

  • Standart kitaplık başlık dosyaları: Bunlar, C/C++ derleyicisinde zaten mevcut olan önceden var olan başlık dosyalarıdır.
  • Kullanıcı tanımlı başlık dosyaları: #define ile başlayan başlık dosyaları kullanıcı tarafından tasarlanabilir.

2. C/C ++ ‘da Header Dosyasının Sözdizimi

Başlık dosyasının söz dizimini 2 şekilde tanımlayabiliriz:

#include<dosyaadı.h>
Başlık dosyasının adı köşeli parantez içine alınır. Bir başlık dosyasını tanımlamanın en yaygın yoludur. Daha önce tartışıldığı gibi, C’de, tüm üstbilgi dosyaları zorunlu olarak .h uzantısıyla başlar, aksi takdirde bir derleme hatası alırsınız, ancak C ++ ‘da durum böyle değildir.

Örneğin,

yada

#include“filename.h” or #include “filename”

Başlık dosyasının adı çift tırnak içine alınır. Genellikle kullanıcı tanımlı başlık dosyalarını tanımlarken tercih edilir.

Örneğin,

3. Başlık Dosyaları Nasıl Çalışır?

Kaynak dosya, C/C++ derleyicisini bu dosyanın derlemeden önce işlenmesi gerektiği konusunda yönlendirmekten sorumlu olan #include içerir ve gerekli tüm veri türü ve işlev tanımlarını içerir.

4. C/C++ ‘da kendi Başlık Dosyanızı Nasıl Oluşturursunuz?

Büyük ve karmaşık bir kod yazmak yerine, kendi başlık dosyalarınızı oluşturabilir ve istediğiniz zaman istediğiniz sıklıkta kullanmak için C/C++ kitaplığına dahil edebilirsiniz. Kod işlevselliğini ve okunabilirliği artırır.

Bir örnek yardımıyla C++ ‘da kendi başlık dosyanızı nasıl oluşturacağınızı anlayalım.

Bir sayının faktöriyelini hesaplamak istediğiniz bir problem düşünün. Standart C++ kitaplığında önceden tanımlanmadığı için, kendiniz oluşturabilirsiniz!

Aşama 1

Kendi kodunuzu C++ ile yazın ve dosyayı .cpp yerine .h uzantısıyla kaydedin, çünkü bir C++ programı değil, bir başlık dosyası oluşturuyorsunuz. .h uzantısıyla kaydettiğiniz dosyanın adı, başlık dosyanızın adı olacaktır. Bunu faktoriyel.h olarak adlandırdığınızı varsayalım.

Adım 2

Yeni bir pencere açın ve başlık dosyanızı ekleyin. Bu durumda iki şekilde yazabilirsiniz:

#include "faktoriyel.h" – Üstbilgi dosyası adını çift tırnak içine almak, C ve C ++ üstbilgi dosyasının birlikte çalıştığınız mevcut klasörde bulunduğunu gösterir. Kullanıcı tanımlı başlık dosyalarının bu şekilde dahil edilmesi tercih edilen bir uygulamadır.

#include <faktoriyel.h> – Başlık dosyası adının köşeli parantez içine alınması, başlık dosyasının C/C ++ ‘nın diğer tüm başlık dosyalarının standart klasöründe bulunduğunu belirtir.

Aşama 3
.h uzantılı dosyanızı kullanarak kod yazıldıktan sonra, programınızı derleyin ve çalıştırın. Bu, kendi oluşturulmuş bir başlık dosyası kullanarak bir sayının faktöriyelini bulmak için bir C++ programıdır:

Başlık dosyası ve C/C++ programınız aynı klasörde olmalıdır.

Farklı C/C++ Başlık Dosyası Türleri

C/C++ Programlama Dili’nde kaç tane başlık dosyası olduğunu hiç düşündünüz mü?

C ve C++ ‘da birçok başlık dosyası mevcuttur. Hatta ihtiyacımıza göre yaratabiliriz. Standart Kitaplık işlevlerine erişmek için, program gövdesini yazmadan önce C/C++’daki belirli başlık dosyalarının eklenmesi gerekir.

C/C++ Header Dosyası

Şimdi C ve C++ ‘daki şu Başlık dosyalarına bir göz atalım :.

1. #include <stdio.h> (Standart giriş-çıkış başlığı)
C de scanf() ve printf() gibi girdi ve çıktı işlemlerini gerçekleştirmek için kullanılır.

2. #include <string.h> (Dize başlığı)
strlen ve strcpy gibi dize işleme işlemleri gerçekleştirin.

3. #include <conio.h> (Konsol giriş-çıkış başlığı)
Ekranı temizlemek için clrscr() ve klavyeden karakteri almak için getch() gibi konsol giriş ve konsol çıkış işlemlerini gerçekleştirin.

4. #include <stdlib.h> (Standart kitaplık başlığı)
malloc() ve calloc() gibi işlevleri kullanarak dinamik bellek ayırma gibi standart yardımcı işlevler gerçekleştirin.

5. #include <math.h> (Matematik başlığı)
sqrt() ve pow() gibi matematik işlemleri gerçekleştirin. Sırasıyla bir sayının karekökünü ve kuvvetini elde etmek için.

6. #include <ctype.h> (Karakter türü başlığı)
isaplha() ve isdigit() gibi karakter türü işlevlerini gerçekleştirin. Verilen karakterin sırasıyla bir alfabe mi yoksa bir rakam mı olduğunu bulmak için.

7. #include <time.h> (Zaman başlığı)
setdate() ve getdate() gibi tarih ve saatle ilgili işlevleri gerçekleştirin. Sistem tarihini değiştirmek ve sırasıyla CPU saatini almak için.

8. #include <assert.h> (Onay başlığı)
assert() gibi program onaylama işlevlerinde kullanılır. Yalnızca geçirilen parametre 0 ise stderr yazdıran bir parametre olarak C/C++ ‘da bir tamsayı veri türü almak için.

9. #include <locale.h> (Yerelleştirme başlığı)
setlocale() ve localeconv() gibi yerelleştirme işlevlerini gerçekleştirin. Sırasıyla yerel ayarı ayarlamak ve yerel ayar kurallarını almak için.

10. #include <signal.h> (Sinyal başlığı)
signal() ve raise() gibi sinyal işleme işlevlerini gerçekleştirin. Sinyal işleyiciyi kurmak ve sırasıyla programdaki sinyali yükseltmek için

11. #include <setjmp.h> (Atlama başlığı)
Atlama işlevlerini gerçekleştirin.

12. #include <stdarg.h> (Standart bağımsız değişken başlığı)
va_start ve va_arg() gibi standart bağımsız değişken işlevlerini gerçekleştirin. Değişken uzunluklu argüman listesinin başlangıcını belirtmek ve programdaki değişken uzunluklu argüman listesinden argümanları getirmek için.

13. #include <errno.h> (Hata işleme başlığı)
errno() gibi hata işleme işlemlerini gerçekleştirmek için kullanılır. Başlangıçta bu fonksiyonun değerini 0’a atayarak ve daha sonra hataları belirtmek için değiştirerek programdaki hataları belirtmek.

C ++ Header Dosyası Listesi

Aşağıda, C-‘de desteklenmeyen bazı C ++ başlık dosyaları verilmiştir.

  • #inlcude <iostream> (Giriş Çıkış Akışı) – Giriş ve Çıkış akışı olarak kullanılır.
  • #include <iomanip.h> (Giriş-Çıkış Manipülasyonu) – se () ve setprecision() ‘a erişmek için kullanılır.
  • #include <fstream.h> (Dosya akışı) – Bir dosyadan giriş olarak okunacak verileri ve çıktı olarak dosyaya yazılacak verileri kontrol etmek için kullanılır.

Sonuç

Bir C/C++ programcısı, başlık dosyalarının kullanımı hakkında bilgi sahibi olmalıdır. Bu eğitimde, C/C++’da bulunan çeşitli başlık dosyaları, nasıl tanımlandıkları, nasıl çalıştıkları ve kullanıcı tanımlı bir başlık dosyasının nasıl oluşturulacağı hakkında bilgi sahibi olduk. Tartışmamızı çeşitli başlık dosyalarının işlevini özetleyerek sonlandırdık.

Yorum Yap

Yorum yapmak için tıklayın