Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

C - File Header

File header adalah file dengan ekstensi .h yang berisi deklarasi fungsi C dan definisi makro untuk dibagikan di antara beberapa file sumber. Ada dua jenis file header:file yang ditulis oleh programmer dan file yang disertakan dengan compiler Anda.

Anda meminta untuk menggunakan file header dalam program Anda dengan menyertakannya dengan perintah preprocessing C #include , seperti Anda telah melihat penyertaan stdio.h file header, yang disertakan dengan kompiler Anda.

Menyertakan file header sama dengan menyalin isi dari file header tetapi kita tidak melakukannya karena akan rawan kesalahan dan tidak baik untuk menyalin isi file header di file sumber, terutama jika kita memiliki beberapa file sumber dalam suatu program.

Praktik sederhana dalam program C atau C++ adalah kita menyimpan semua konstanta, makro, variabel global seluruh sistem, dan prototipe fungsi dalam file header dan menyertakan file header itu di mana pun diperlukan.

Sertakan Sintaks

Baik pengguna dan file header sistem disertakan menggunakan direktif prapemrosesan #include . Ini memiliki dua bentuk berikut

#include <file>

Formulir ini digunakan untuk file header sistem. Ini mencari file bernama 'file' dalam daftar standar direktori sistem. Anda dapat menambahkan direktori ke daftar ini dengan opsi -I saat mengkompilasi kode sumber Anda.

#include "file"

Formulir ini digunakan untuk file header dari program Anda sendiri. Ini mencari file bernama 'file' di direktori yang berisi file saat ini. Anda dapat menambahkan direktori ke daftar ini dengan opsi -I saat mengkompilasi kode sumber Anda.

Sertakan Operasi

#include direktif bekerja dengan mengarahkan praprosesor C untuk memindai file yang ditentukan sebagai input sebelum melanjutkan dengan sisa file sumber saat ini. Output dari preprocessor berisi output yang sudah dihasilkan, diikuti oleh output yang dihasilkan dari file yang disertakan, diikuti oleh output yang berasal dari teks setelah #include pengarahan. Misalnya, jika Anda memiliki file header header.h sebagai berikut −

char *test (void);

dan program utama bernama program.c yang menggunakan file header, seperti ini

int x;
#include "header.h"

int main (void) {
   puts (test ());
}

kompiler akan melihat aliran token yang sama seperti jika program.c membaca.

int x;
char *test (void);

int main (void) {
   puts (test ());
}

Header Hanya Sekali

Jika file header kebetulan dimasukkan dua kali, kompiler akan memproses isinya dua kali dan itu akan menghasilkan kesalahan. Cara standar untuk mencegahnya adalah dengan melampirkan seluruh isi file yang sebenarnya dalam kondisi, seperti ini −

#ifndef HEADER_FILE
#define HEADER_FILE

the entire header file file

#endif

Konstruksi ini umumnya dikenal sebagai pembungkus #ifndef . Ketika header dimasukkan lagi, kondisi akan salah, karena HEADER_FILE didefinisikan. Praprosesor akan melewati seluruh isi file, dan kompilator tidak akan melihatnya dua kali.

Termasuk yang Dikomputasi

Terkadang perlu untuk memilih salah satu dari beberapa file header yang berbeda untuk dimasukkan ke dalam program Anda. Misalnya, mereka mungkin menentukan parameter konfigurasi untuk digunakan pada berbagai jenis sistem operasi. Anda dapat melakukan ini dengan serangkaian persyaratan sebagai berikut −

#if SYSTEM_1
   # include "system_1.h"
#elif SYSTEM_2
   # include "system_2.h"
#elif SYSTEM_3
   ...
#endif

Namun seiring pertumbuhannya, ini menjadi membosankan, alih-alih praprosesor menawarkan kemampuan untuk menggunakan makro untuk nama header. Ini disebut termasuk yang dihitung . Alih-alih menulis nama header sebagai argumen langsung dari #include , Anda cukup memasukkan nama makro di sana

#define SYSTEM_H "system_1.h"
...
#include SYSTEM_H

SYSTEM_H akan diperluas, dan praprosesor akan mencari system_1.h seolah-olah #include telah ditulis seperti itu awalnya. SYSTEM_H dapat ditentukan oleh Makefile Anda dengan opsi -D.


Bahasa C

  1. C Penanganan Berkas
  2. File Python I/O
  3. Kelas File Java
  4. Pengantar File STL
  5. Operasi File IO Verilog
  6. C - File I/O
  7. File dan Aliran C++
  8. C# - File I/O
  9. Python - File I/O
  10. Apa itu Berkas Segitiga?