.H

H-fil

C/C++ Header File
Ställ en fråga
SNABBT SVAR

En .h-fil är en C/C++ header-fil - källkod i klartext som innehåller funktionsprototyper, typdefinitioner, konstanter och makron som delas i ett program. Du kan inte köra den; öppna den i valfri text- eller kodredigerare som VS Code eller Notepad++. Det är bara text och säker att titta på, men kod från okända projekt bör endast kompileras i en säker miljö.

Utvecklare: N/A (C/C++ language convention; ISO/IEC standards) Kategori: Utvecklarfiler Öppen standard MIME: text/x-c
ÖPPNAS PÅ Windows macOS Linux
Relaterat: .DO · .MD · .HEX · .XSD

På denna sida

19k+ filtillägg indexerade
Senast granskad Jul 31, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet H?

.h-filer skapas när man arbetar med språken C, C++ eller Objective-C.

Innehåll i .h-filer

Filer med filtillägget .h innehåller funktions-deklarationer eller makron, och kan innehålla data som:

  • variabel- och konstantdeklarationer,
  • definitioner av struct, enum och typer,
  • #include-referenser till andra header-filer

I praktiken används .h-filer för att hålla delade deklarationer - kod som refereras ofta i flera .c och .cpp källkodsfiler. Detta möjliggör bättre läsbarhet av källkoden och effektivitet för programmeraren. Funktioner och makron definierade i .h-filer gör dem återanvändbara mellan projekt och underlättar koddelning. Detta gör det också enklare att uppdatera koden, eftersom gränssnittet lagras på en enda, välkänd plats.

Hur används .h-filer?

Genom att lagra delade deklarationer i .h-filer blir de lättare att komma åt och lägga till i projektets källkod. Under kompileringen expanderar C-preprocessorn varje #include-direktiv och kopierar headerns innehåll till översättningsenheten innan kompilatorn fortsätter. System-headers som <stdio.h> eller <vector> levereras med kompilatorn och behöver inte distribueras med ditt projekt; projektspecifika .h-filer är däremot en del av källkodsträdet och följer med det. Många C++-projekt använder också .hpp-filer för att skilja C++-specifika headers från vanliga C-headers i .h, även om båda förlitar sig på samma #include-mekanism.

Säkerhet & trygghet

RISK: LOW

En .h-header är källkod i klartext och körs inte av sig själv, så det är säkert att öppna eller läsa en i en redigerare. Den faktiska varningen gäller KOMPILERING, inte filformatet: header- (och käll-) kod från ett okänt projekt kan innehålla skadlig logik som bara körs när du bygger och kör programmet, så granska och bygg okänd C/C++-kod endast i en sandbox/VM och från källor du litar på. Det finns ingen risk med att bara titta på texten. (Headers kan också göra #include på systemfiler och definiera makron som ändrar hur beroende kod kompileras - relevant för utvecklare, inte ett säkerhetshot från filen i sig.)

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNC/C++ Header File
UTVECKLAREN/A (C/C++ language convention; ISO/IEC standards)sedan 1972 (C language; #include header convention from early C)
MIME-TYPtext/x-c
TYPHeader-fil för källkod i klartext (text)
STANDARDÖppen · royaltyfri
Detta filtillägg används också av…
  • Objective-C / Objective-C++ header - Apples Objective-C använder också .h-headers (t.ex. för att deklarera @interface-klasser), som öppnas på samma sätt i Xcode/textredigerare.
  • ch / diverse app-data - Ett fåtal nischade program (och gamla spel/dataverktyg) återanvänder .h för data som inte är källkod; identifiera dessa genom filens innehåll, inte filtillägget.

Program som öppnar H-filer

Windows4 apps
Microsoft Visual Studio Freemium Fullständig IDE (gratis Community-utgåva); öppna projektet eller .h-filen för att redigera, navigera i definitioner och bygga C/C++-koden.
Windows Notepad Inbyggd Inbyggd textredigerare - öppnar .h för att läsa den (ingen syntaxmarkering). Fungerar bra för en snabb titt.
Notepad Öppen källkod Gratis redigerare; öppna .h för att läsa/redigera med syntaxmarkering för C/C++.
Visual Studio Code Gratis Gratis, lättviktig kodredigerare; öppna .h för syntaxmarkering, navigering och (med C/C++-tillägget) IntelliSense.
macOS3 apps
TextEdit Inbyggd Inbyggd redigerare; öppna .h som klartext (använd Format > Gör till ren text). Ingen syntaxmarkering.
Apple Xcode Gratis Apples IDE (gratis i Mac App Store); öppna .h i ett projekt för att redigera C/C++/Objective-C-headers.
Visual Studio Code Gratis Gratis, lättviktig kodredigerare; öppna .h för syntaxmarkering, navigering och (med C/C++-tillägget) IntelliSense.
Linux4 apps
gedit Öppen källkod GNOME:s enkla textredigerare; öppna .h för att visa/redigera med syntaxmarkering.
GNU Emacs Öppen källkod Öppna .h i Emacs (cc-mode) för att läsa/redigera med fullt stöd för C/C++.
Visual Studio Code Gratis Gratis, lättviktig kodredigerare; öppna .h för syntaxmarkering, navigering och (med C/C++-tillägget) IntelliSense.
Vim / Neovim Öppen källkod vim file.h för att redigera i terminalen med syntaxmarkering för C/C++.

Tekniska detaljer

djup specifikation
FiltypHeader-fil för källkod i klartext
MIME-typtext/x-c
Filsignatur (magic bytes)Ingen - klartext, identifieras via filtillägg och innehåll
Typisk öppningskonstruktionInclude guard (`#ifndef NAME_H` / `#define NAME_H`) eller `#pragma once` för att förhindra dubbel inkludering
Preprocessorns rollExpanderas inline av C-preprocessorn före kompilering; `.h`-filer kompileras inte direkt
Include-syntaxSystem-headers använder vinkelparenteser (t.ex. `<stdio.h>`); projektheaders använder citattecken (t.ex. `"mylib.h"`)
Typiskt innehållFunktionsdeklarationer, makrodefinitioner, struct- och enum-definitioner, typedef-alias och (i C++) klassdeklarationer
Relaterade filtillägg`.c`, `.cpp`, `.hpp`, `.hxx`, `.hh`, `.cc`, `.cxx`
C++-länkningC-headers som inkluderas i C++-kod omsluts ofta av `extern "C" { }`-block för att förhindra «name mangling»
TeckenkodningASCII (historisk norm); UTF-8 är allmänt accepterat av moderna kompilatorer för identifierare och kommentarer
Skydd mot dubbel inkluderingInclude guards eller `#pragma once` säkerställer att samma header endast bearbetas en gång per översättningsenhet
Standard C-biblioteksheadersFöljer konventionen `<namn.h>`, t.ex. `<stdio.h>`, `<stdlib.h>`, `<string.h>`
Malldefinitioner (C++)Funktions- och klassmallar (templates) måste definieras helt i header-filer eftersom de instansieras vid kompilering
Släppt1972 (C language; #include header convention from early C)
Öppen standardJa · royaltyfri
Specifikationen.cppreference.com

H-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med H-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om H-filer.

Vanliga frågor

Hur öppnar jag en .h-fil?
Öppna den i valfri text- eller kodredigerare - gratis VS Code, Notepad++ (Windows), Vim/Emacs/gedit (Linux) eller Xcode (Mac). Till och med Windows Anteckningar eller macOS Textredigerare visar texten. Det är källkod i klartext.
Vad är en .h-fil?
Det är en C/C++ header-fil: klartext som innehåller deklarationer (funktionsprototyper, typer, konstanter, makron) som andra källkodsfiler delar via #include. Det är en del av ett programs kod, inte ett dokument eller ett program du kör.
Vad är skillnaden mellan en .h och en .c (eller .cpp) fil?
Header-filen (.h) innehåller deklarationer och gränssnitt; .c/.cpp innehåller den faktiska implementeringen (koden som utför arbetet). Källkodsfiler gör #include på headern så att de alla är överens om samma definitioner.
Kan jag köra eller öppna en .h-fil genom att dubbelklicka på den?
Nej - en header gör ingenting på egen hand. Den har bara betydelse när en C/C++-kompilator bygger den tillsammans med källkodsfilerna som gör #include på den. Dubbelklickning försöker bara öppna den i en textredigerare.
Varför får jag «fatal error: xxx.h: No such file or directory»?
Kompilatorn kan inte hitta en header som din kod gör #include på - filen saknas eller dess mapp finns inte i sökvägen för include-filer. Installera nödvändigt bibliotek/SDK, eller lägg till dess include-katalog i dina bygginställningar.
Vad är skillnaden mellan .h och .hpp?
Båda är headers. .h är det traditionella filtillägget för C (och delad C/C++); .hpp/.hxx/.hh är konventioner som vissa projekt använder för att markera en header som endast avsedd för C++. Kompilatorer behandlar dem likadant; filtillägget är ett stilval.

Referenser

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

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

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

Relaterade filtillägg

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

Gratis filverktyg

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö