Dokumentasjon

    Table of Content
    • 3d
      • 3D-filformater
      • 3DS to DWG
      • 3MF to STL
      • AMF
      • FBX to DWG
      • GLB
      • GLB to 3DS
      • GLB to FBX
      • GLB to GLTF
      • GLB to STL
      • GLB to USDZ
      • MTL
      • OBJ
      • PLY
      • STP
    • audio
      • Lydfilformater
      • GP
      • M3U
      • M3U8
      • M4R
      • MP3
      • STY
      • WAV
    • cad
      • CAD-filformater
      • DGN
      • DWFX
      • DWG
      • DXF
      • GCODE
      • IGS
      • PLT
    • compression
      • Komprimeringsfilformater
      • APK
      • GZ
      • ISO
      • LZMA
      • PKG
      • TGS
      • VPK
      • WHL
      • WUX
      • XAPK
      • ZIP
    • data
      • Datafilformater
      • CDX
      • ESX
      • GB
      • INK
      • IO
      • PCB
      • PRT
      • SAFETENSORS
      • VCS
      • XDELTA
    • database
      • Database filformater
      • BAK SQL Server
      • CRYPT14
      • DB
      • DB3
      • DBC
      • DTSX
      • FDB
      • GDB
      • MDF
      • NDF
      • SAV
      • SQL
      • SQLITE
    • disc-and-media
      • Disk- og mediefilformater
      • CUE
      • ISZ
      • MDF
      • OVA
      • TIB
      • Toast
      • WBFS
    • ebook
      • E-bok filformater
      • CBZ
      • JWPUB
      • KFX
    • email
      • Filformater for e-post
      • EML
      • ICS
      • OFT
      • RPMSG
      • VCF
    • executable
      • Kjørbare filformater
      • BAT
      • CMD
      • JSF
      • MST
      • PS1
      • PYC
      • REG
      • RUN
      • WSF
      • XEX
    • finance
      • Finans filformater
      • ABA
      • IXBRL
      • OFX
      • XBRL
    • font
      • Font filformater
      • TTF
      • WOFF2
    • game
      • Spillfilformater
      • ASSET
      • BIN
      • BIN PCSX
      • CLIP
      • CT
      • DSV
      • FOMOD
      • MCA
      • MCPACK
      • NDS
      • NSP
      • NSZ
      • PAK
      • PSS
      • RPF
      • RPX
      • RVZ
      • SMC
      • UASSET
      • Unity3D
      • VDF
      • XCI
      • Z64
    • gis
      • GIS filformater
      • FIT
      • GPX
      • KMZ
    • image
      • Bildefilformater
      • ARW
      • BMP
      • CDR
      • GIF
      • HDR
      • JFIF
      • JPEG
      • JPF
      • JXL
      • PVT
      • RPF
      • SKP
      • TIFF
    • misc
      • Diverse filformater
      • BAK Backup
      • CRX
      • CTG
      • ENC
      • FIG
      • GPG
      • H5
      • IPS
      • LOCK
      • LRC
      • MEDIA FILES
      • NOMEDIA
      • PDO
      • PES
      • PKPASS
      • PS2 BIOS
      • PSX BIOS
      • SHELL SCRIPT
      • TEXT FORMATS
      • XMZX
    • pdf
      • PDF
      • FDF
    • plugin
      • Plugin filformater
      • Q1Q
    • presentation
      • Presentasjonsfilformater
      • PPT
      • PPTX
    • programming
      • Programmering
      • ACD
      • ASM
      • AU3
      • C
      • CONFIG
      • CS
      • CSPROJ
      • CXX
      • EGG
      • G4
      • GROOVY
      • H
      • HPP
      • INO
      • Jav
      • JRXML
    • project-management
      • Prosjektledelse filformater
      • MPP
    1. Hjem
    2. Programmering
    3. H

    What's on this Page

      • Hva er en H-fil?
      • .H Filformat
        • Header Guards
      • H File Example
      • Referanser

    Hva er en H-fil?

    En fil lagret med h-filtypen er en overskriftsfil som brukes i C/C++-filer for å inkludere deklarasjonen av variabler, konstanter og funksjoner. Disse henvises til av implementeringsfilene C++ som inneholder den faktiske implementeringen av disse funksjonene. En .h-headerfil kan også inneholde tilleggsinformasjon som makrodefinisjoner. Disse overskriftsfilene refereres til i C/C++-filene ved å bruke “#include”-direktivet.

    Et nytt C++-prosjekt inneholder vanligvis en spesiell header-fil med navnet stdafx.h-fil som er utgangspunktet for alle kompileringskjeder og alle header-filene kan inkluderes i denne enkeltfilen. En .h-fil kan åpnes med hvilken som helst tekstredigerer, Eclipse IDE, Microsoft Visual Studio IDE, Borland C++ kompilator og mange andre applikasjoner.

    .H Filformat

    En .h-fil er en ren tekstfil som har sine egne regler for å definere syntaksen. Overskriftsfiler kan inneholde følgende informasjon.

    Variables - I tilfelle av objektorientert programmering (OOP), inneholder en klasseoverskriftsfil definisjoner av alle klassenivåvariabler som er tilgjengelige på tvers av implementeringskildekodefilene Methods Declaration - Alle metodeerklæringene er inkludert i .h-headerfilene for å være tilgjengelige på tvers av flere implementeringsfiler. Non-Inline Function Definitions - Overskriftsfiler kan også inneholde definisjoner av ikke-innebygde metoder. Message Maps - En overskriftsfil kan også inneholde meldingskart i tilfelle en MFC-kildekodeimplementering. I slike tilfeller er meldingskartene knyttet til funksjonalitetsimplementeringen som er knyttet til UI-elementer som knapp, avkrysningsboks, radioknapper, etc.

    Header Guards

    Header-filer kan føre til komplekse feil der flere erklæringer er inkludert i samme fil som et resultat av å legge til andre header-filer. Disse dupliserte definisjonene gir kompilatorfeil. Denne problematiske situasjonen kan unngås via en mekanisme kalt header guard som er betingede kompileringsdirektiver som vist nedenfor.

    #ifndef ANY_UNIQUE_NAME_HERE
    #define ANY_UNIQUE_NAME_HERE
    
    // your declarations (and certain types of definitions) here
    
    #endif
    

    Med denne overskriften sjekker forprosessoren om ANY_UNIQUE_NAME_HERE allerede er definert. Hvis overskriften gjentatte ganger inkluderes i den samme filen, vil innholdet i overskriften bli ignorert.

    H File Example

    // sample.h
    #pragma once
    #include <vector> // #include directive
    #include <string>
    
    namespace N  // namespace declaration
    {
        inline namespace P
        {
            //...
        }
    
        enum class colors : short { red, blue, purple, azure };
    
        const double PI = 3.14;  // const and constexpr definitions
        constexpr int MeaningOfLife{ 42 };
        constexpr int get_meaning()
        {
            static_assert(MeaningOfLife == 42, "unexpected!"); // static_assert
            return MeaningOfLife;
        }
        using vstr = std::vector<int>;  // type alias
        extern double d; // extern variable
    
    #define LOG   // macro definition
    
    #ifdef LOG   // conditional compilation directive
        void print_to_log();
    #endif
    
        class my_class   // regular class definition,
        {                // but no non-inline function definitions
    
            friend class other_class;
        public:
            void do_something();   // definition in my_class.cpp
            inline void put_value(int i) { vals.push_back(i); } // inline OK
    
        private:
            vstr vals;
            int i;
        };
    
        struct RGB
        {
            short r{ 0 };  // member initialization
            short g{ 0 };
            short b{ 0 };
        };
    
        template <typename T>  // template definition
        class value_store
        {
        public:
            value_store<T>() = default;
            void write_value(T val)
            {
                //... function definition OK in template
            }
        private:
            std::vector<T> vals;
        };
    
        template <typename T>  // template declaration
        class value_widget;
    }
    

    Referanser

    • Header Filers - Microsoft

    See Also

    • INO-fil - Arduino Sketch - Hva er en .ino-fil og hvordan åpner jeg den?
    • SMC-fil - Super Nintendo Game ROM - Hva er en .smc-fil og hvordan åpner jeg den?
    • ENC-fil - kodet fil - Hva er en .enc-fil og hvordan åpner jeg den?
    • ESX-fil - Xactimate Insurance Claims Estimate - Hva er en .esx-fil og hvordan åpner jeg den?
    • NDS-fil - Nintendo DS Game ROM - Hva er en .nds-fil og hvordan åpner jeg den?
     
     Norsk
    Close
     English
     Deutsch
     日本
     中文
     русский
     Français
     한국인
     Español
     Italiano
     Nederlands
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     Ελληνικά
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski
     Bengali
     Dansk
     Persian
     Finnish
     Gaeilge
     Lithuanian
     Latvian
     Azeri
     Filipino