.H

H-fil

C/C++ Header File
Still et spørsmål
HURTIGSVAR

En .h-fil er en C/C++ header-fil - kildekode i ren tekst som inneholder funksjonsprototyper, typedefinisjoner, konstanter og makroer som deles på tvers av et program. Du kan ikke kjøre den; åpne den i et hvilket som helst tekst- eller kodebehandlingsprogram som VS Code eller Notepad++. Det er bare tekst og trygt å vise, men kode fra upålitelige prosjekter bør kun kompileres i et trygt miljø.

Utvikler: N/A (C/C++ language convention; ISO/IEC standards) Kategori: Utviklerfiler Åpen standard MIME: text/x-c
ÅPNES PÅ Windows macOS Linux
Relatert: .DO · .MD · .HEX · .XSD

På denne siden

19k+ filendelser indeksert
Sist vurdert Jul 31, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er H-filformatet?

.h-filer opprettes når du arbeider med språkene C, C++ eller Objective-C.

Innholdet i .h-filer

Filer med filendelsen .h inneholder funksjons-deklarasjoner eller makroer, og kan inneholde data som:

  • variabel- og konstantdeklarasjoner,
  • struct-, enum- og typedefinisjoner,
  • #include-referanser til andre header-filer

I praksis brukes .h-filer til å holde på delte deklarasjoner - kode som refereres ofte på tvers av flere .c og .cpp kildekodefiler. Dette gir bedre lesbarhet i kildekoden og gjør programmereren mer effektiv. Funksjoner og makroer definert i .h-filer gjør dem gjenbrukbare på tvers av prosjekter og forenkler kodedeling. Dette gjør det også enklere å oppdatere koden, ettersom grensesnittet er lagret på ett enkelt, velkjent sted.

Hvordan brukes .h-filer?

Lagring av delte deklarasjoner i .h-filer gjør dem enklere å få tilgang til og legge til i prosjektets kildekode. Under kompilering utvider C-preprosessoren hvert #include-direktiv ved å kopiere headerens innhold inn i oversettelsesenheten før kompilatoren fortsetter. System-headere som <stdio.h> eller <vector> følger med kompilatoren og trenger ikke å distribueres med prosjektet ditt; prosjektspesifikke .h-filer er derimot en del av kildetreet og følger med dette. Mange C++-prosjekter bruker også .hpp-filer for å skille C++-spesifikke headere fra rene C-headere (.h), selv om begge baserer seg på den samme #include-mekanismen.

Sikkerhet og trygghet

RISIKO: LOW

En .h-header er kildekode i ren tekst og kjører ikke av seg selv, så det er trygt å åpne eller lese en i et tekstbehandlingsprogram. Den reelle advarselen gjelder KOMPILERING, ikke filformatet: header- (og kilde-) kode fra et upålitelig prosjekt kan inneholde skadelig logikk som først kjører når du bygger og utfører programmet. Derfor bør du kun gjennomgå og bygge ukjent C/C++-kode i en sandkasse/VM og fra kilder du stoler på. Det er ingen risiko forbundet med å bare se på teksten. (Headere kan også inkludere systemfiler og definere makroer som endrer hvordan avhengig kode kompileres - relevant for utviklere, men ikke en sikkerhetstrussel fra filen alene.)

Formatdetaljer

i et nøtteskall
FULLT NAVNC/C++ Header File
UTVIKLERN/A (C/C++ language convention; ISO/IEC standards)siden 1972 (C language; #include header convention from early C)
MIME-TYPEtext/x-c
TYPEKildekode-header i ren tekst (text)
STANDARDÅpen · royalty-fri
Denne filendelsen brukes også av…
  • Objective-C / Objective-C++ header - Apples Objective-C bruker også .h-headere (f.eks. for å deklarere @interface-klasser), som åpnes på samme måte i Xcode eller tekstbehandlingsprogrammer.
  • ch / diverse app-data - Et lite antall nisjeprogrammer (og eldre spill/dataverktøy) gjenbruker .h for data som ikke er kildekode; identifiseres ved filens innhold, ikke filendelsen.

Programmer som åpner H-filer

Windows4 apps
Microsoft Visual Studio Freemium Fullstendig IDE (gratis Community-utgave); åpne prosjektet eller .h-filen for å redigere, navigere i definisjoner og bygge C/C++-koden.
Windows Notepad Innebygd Innebygd tekstbehandler - åpner .h for å lese den (ingen syntaksutheving). Greit for en rask titt.
Notepad Åpen kildekode Gratis tekstbehandler; åpne .h for å lese/redigere med C/C++ syntaksutheving.
Visual Studio Code Gratis Gratis, lettvektig kodebehandler; åpne .h for syntaksutheving, navigasjon og (med C/C++-utvidelsen) IntelliSense.
macOS3 apps
TextEdit Innebygd Innebygd tekstbehandler; åpne .h som ren tekst (bruk Format > Gjør til ren tekst). Ingen utheving.
Apple Xcode Gratis Apples IDE (gratis på Mac App Store); åpne .h i et prosjekt for å redigere C/C++/Objective-C-headere.
Visual Studio Code Gratis Gratis, lettvektig kodebehandler; åpne .h for syntaksutheving, navigasjon og (med C/C++-utvidelsen) IntelliSense.
Linux4 apps
gedit Åpen kildekode GNOMEs enkle tekstbehandler; åpne .h for å vise/redigere med utheving.
GNU Emacs Åpen kildekode Åpne .h i Emacs (cc-mode) for å lese/redigere med full C/C++-støtte.
Visual Studio Code Gratis Gratis, lettvektig kodebehandler; åpne .h for syntaksutheving, navigasjon og (med C/C++-utvidelsen) IntelliSense.
Vim / Neovim Åpen kildekode Bruk «vim file.h» for å redigere i terminalen med C/C++ syntaksutheving.

Tekniske detaljer

dyp spesifikasjon
FiltypeKildekode-header i ren tekst
MIME-typetext/x-c
Filsignatur (magic bytes)Ingen - ren tekst, identifisert av filendelse og innhold
Typisk åpningskonstruksjonInclude guard (`#ifndef NAME_H` / `#define NAME_H`) eller `#pragma once` for å forhindre dobbel inkludering
Preprosessorens rolleUtvides direkte i koden av C-preprosessoren før kompilering; `.h`-filer kompileres ikke direkte
InkluderingssyntaksSystem-headere bruker vinkelparenteser (f.eks. `<stdio.h>`); prosjektheadere bruker doble anførselstegn (f.eks. `"mylib.h"`)
Typisk innholdFunksjonsdeklarasjoner, makrodefinisjoner, struct- og enum-definisjoner, typedef-aliaser og (i C++) klassedeklarasjoner
Relaterte filendelser`.c`, `.cpp`, `.hpp`, `.hxx`, `.hh`, `.cc`, `.cxx`
C++-koblingC-headere inkludert i C++-kode er ofte pakket inn i `extern "C" { }`-blokker for å forhindre «name mangling»
TegnodingASCII (historisk norm); UTF-8 er vidt akseptert av moderne kompilatorer for identifikatorer og kommentarer
Beskyttelse mot dobbel inkluderingInclude guards eller `#pragma once` sikrer at samme header kun behandles én gang per oversettelsesenhet
Standard C-bibliotekheadereFølger konvensjonen `<navn.h>`, f.eks. `<stdio.h>`, `<stdlib.h>`, `<string.h>`
Mal-definisjoner (C++)Funksjons- og klassemaler (templates) må være fullstendig definert i header-filer siden de instansieres ved kompileringstid
Utgitt1972 (C language; #include header convention from early C)
Åpen standardJa · royalty-fri
Spesifikasjonen.cppreference.com

H-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med H-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om H-filer.

Ofte stilte spørsmål

Hvordan åpner jeg en .h-fil?
Åpne den i et hvilket som helst tekst- eller kodebehandlingsprogram - gratisversjonen av VS Code, Notepad++ (Windows), Vim/Emacs/gedit (Linux) eller Xcode (Mac). Selv Windows Notepad eller macOS TextEdit vil vise teksten. Det er kildekode i ren tekst.
Hva er en .h-fil?
Det er en C/C++ header-fil: ren tekst som inneholder deklarasjoner (funksjonsprototyper, typer, konstanter, makroer) som andre kildekodefiler deler via #include. Det er en del av et programs kode, ikke et dokument eller et program du kjører.
Hva er forskjellen mellom en .h og en .c (eller .cpp) fil?
Headeren (.h) inneholder deklarasjoner og grensesnitt; .c/.cpp inneholder selve implementeringen (koden som utfører arbeidet). Kildekodefiler bruker #include på headeren slik at de alle er enige om de samme definisjonene.
Kan jeg kjøre eller åpne en .h-fil ved å dobbeltklikke på den?
Nei - en header gjør ingenting alene. Den har bare betydning når en C/C++-kompilator bygger den sammen med kildekodefilene som inkluderer den. Dobbeltklikk vil bare prøve å åpne den i et tekstbehandlingsprogram.
Hvorfor får jeg «fatal error: xxx.h: No such file or directory»?
Kompilatoren finner ikke en header som koden din inkluderer - filen mangler eller mappen den ligger i er ikke med i søkestien (include path). Installer det nødvendige biblioteket/SDK-en, eller legg til mappen i bygginnstillingene dine.
Hva er forskjellen mellom .h og .hpp?
Begge er headere. .h er den tradisjonelle filendelsen for C (og delt C/C++); .hpp/.hxx/.hh er konvensjoner noen prosjekter bruker for å markere en header som kun for C++. Kompilatorer behandler dem likt; filendelsen er et stilvalg.

Referanser

1cppreference - C++ standard library headersen.cppreference.com
2cppreference - Source file inclusion (#include)en.cppreference.com

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BCBitComet Incomplete Download File
5.PARTPartial Download File
6.BINCD/DVD Disc Image (BIN/CUE)
7.EXEWindows Executable (Portable Executable)
8.AVIFAV1 Image File Format (AVIF)
9.RPMSGRestricted Permission Message
10.NOMEDIAAndroid No-Media Marker File

Relaterte filendelser

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Gratis filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å