.H

File H

C/C++ Header File
Fai una domanda
RISPOSTA RAPIDA

Un file .h è un file header C/C++ - codice sorgente in formato testo semplice che contiene prototipi di funzioni, definizioni di tipi, costanti e macro condivise all'interno di un programma. Non può essere eseguito; va aperto in qualsiasi editor di testo o di codice come VS Code o Notepad++. È solo testo ed è sicuro da visualizzare, ma il codice proveniente da progetti non attendibili dovrebbe essere compilato solo in un ambiente sicuro.

Sviluppatore: N/A (C/C++ language convention; ISO/IEC standards) Categoria: File di sviluppo Standard aperto MIME: text/x-c
SI APRE SU Windows macOS Linux
Correlati: .DO · .MD · .HEX · .XSD

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Jul 31, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file H?

I file .h vengono creati quando si lavora con i linguaggi C, C++ o Objective-C.

Contenuto dei file .h

I file con estensione .h contengono dichiarazioni di funzioni o macro e possono ospitare dati quali:

  • dichiarazioni di variabili e costanti,
  • definizioni di struct, enum e tipi,
  • riferimenti #include ad altri file header

In pratica, i file .h vengono utilizzati per contenere dichiarazioni condivise - codice a cui si fa riferimento frequentemente in più file sorgente .c e .cpp. Ciò consente una migliore leggibilità del codice sorgente e una maggiore efficienza per il programmatore. Le funzioni e le macro definite nei file .h le rendono riutilizzabili tra i progetti e facilitano la condivisione del codice. Questo rende anche più facile aggiornare il codice, poiché l'interfaccia è memorizzata in un unico luogo ben noto.

Come vengono utilizzati i file .h?

La memorizzazione delle dichiarazioni condivise nei file .h le rende più facili da consultare e da aggiungere al codice sorgente del progetto. Durante la compilazione, il preprocessore C espande ogni direttiva #include, copiando il contenuto dell'header nell'unità di traduzione prima che il compilatore prosegua. Gli header di sistema come <stdio.h> o <vector> vengono forniti con il compilatore e non devono essere distribuiti con il progetto; i file .h specifici del progetto, invece, fanno parte dell'albero dei sorgenti e viaggiano con esso. Molti progetti C++ utilizzano anche file .hpp per distinguere gli header solo C++ dagli header .h in puro C, sebbene entrambi si basino sullo stesso meccanismo #include.

Sicurezza e incolumità

RISCHIO: LOW

Un header .h è codice sorgente in testo semplice e non si esegue da solo, quindi aprirne o leggerne uno in un editor è sicuro. La cautela nel mondo reale riguarda la COMPILAZIONE, non il formato del file: il codice dell'header (e del sorgente) proveniente da un progetto non attendibile può contenere logica dannosa che viene eseguita solo una volta compilato ed eseguito il programma, quindi rivedi e compila codice C/C++ sconosciuto solo in una sandbox/VM e da fonti di cui ti fidi. Non c'è alcun rischio nel visualizzare semplicemente il testo. (Gli header possono anche includere file di sistema e definire macro che cambiano il modo in cui il codice dipendente viene compilato - rilevante per gli sviluppatori, non una minaccia alla sicurezza derivante dal file in sé).

Dettagli del formato

in sintesi
NOME COMPLETOC/C++ Header File
SVILUPPATOREN/A (C/C++ language convention; ISO/IEC standards)dal 1972 (C language; #include header convention from early C)
TIPO MIMEtext/x-c
TIPOHeader del codice sorgente in testo semplice (testo)
STANDARDAperto · royalty-free
Questa estensione è usata anche da…
  • Header Objective-C / Objective-C++ - L'Objective-C di Apple utilizza anche header .h (ad esempio per dichiarare classi @interface), aperti allo stesso modo in Xcode o editor di testo.
  • ch / vari dati di app - Una manciata di programmi di nicchia (e vecchi strumenti di gioco/dati) riutilizzano .h per dati non sorgente; identificabili dal contenuto del file, non dall'estensione.

Programmi che aprono file H

Windows4 apps
Microsoft Visual Studio Freemium IDE completo (edizione Community gratuita); apri il progetto o il file .h per modificare, navigare tra le definizioni e compilare il codice C/C++.
Windows Notepad Integrato Editor di testo semplice integrato - apre il file .h per leggerlo (senza evidenziazione della sintassi). Va bene per una rapida occhiata.
Notepad Open-source Editor gratuito; apri il file .h per leggere/modificare con l'evidenziazione della sintassi C/C++.
Visual Studio Code Gratuito Editor di codice gratuito e leggero; apri il file .h per l'evidenziazione della sintassi, la navigazione e (con l'estensione C/C++) IntelliSense.
macOS3 apps
TextEdit Integrato Editor integrato; apri il file .h come testo semplice (usa Formato > Converti in formato Solo testo). Nessuna evidenziazione.
Apple Xcode Gratuito IDE di Apple (gratuito sul Mac App Store); apri il file .h all'interno di un progetto per modificare gli header C/C++/Objective-C.
Visual Studio Code Gratuito Editor di codice gratuito e leggero; apri il file .h per l'evidenziazione della sintassi, la navigazione e (con l'estensione C/C++) IntelliSense.
Linux4 apps
gedit Open-source Semplice editor di testo di GNOME; apri il file .h per visualizzarlo/modificarlo con evidenziazione.
GNU Emacs Open-source Apri il file .h in Emacs (cc-mode) per leggere/modificare con il supporto completo C/C++.
Visual Studio Code Gratuito Editor di codice gratuito e leggero; apri il file .h per l'evidenziazione della sintassi, la navigazione e (con l'estensione C/C++) IntelliSense.
Vim / Neovim Open-source vim file.h per modificare nel terminale con l'evidenziazione della sintassi C/C++.

Dettagli tecnici

specifiche approfondite
Tipo di fileHeader del codice sorgente in testo semplice
Tipo MIMEtext/x-c
Firma del file (magic bytes)Nessuna - testo semplice, identificato dall'estensione e dal contenuto
Costrutto di apertura tipicoInclude guard (`#ifndef NAME_H` / `#define NAME_H`) o `#pragma once` per prevenire inclusioni multiple
Ruolo del preprocessoreEspanso inline dal preprocessore C prima della compilazione; i file `.h` non vengono compilati direttamente
Sintassi di inclusioneGli header di sistema usano le parentesi angolari (es. `<stdio.h>`); gli header di progetto usano le virgolette doppie (es. `"mylib.h"`)
Contenuti tipiciDichiarazioni di funzioni, definizioni di macro, definizioni di struct ed enum, alias typedef e (in C++) dichiarazioni di classi
Estensioni correlate`.c`, `.cpp`, `.hpp`, `.hxx`, `.hh`, `.cc`, `.cxx`
Linkage C++Gli header C inclusi nel codice C++ sono spesso racchiusi in blocchi `extern "C" { }` per evitare il name mangling
Codifica dei caratteriASCII (norma storica); UTF-8 ampiamente accettato dai compilatori moderni per identificatori e commenti
Protezione da inclusione multiplaGli include guard o `#pragma once` assicurano che lo stesso header venga elaborato una sola volta per unità di traduzione
Header della libreria standard CSeguono la convenzione `<nome.h>`, ad esempio `<stdio.h>`, `<stdlib.h>`, `<string.h>`
Definizioni di template (C++)I template di funzioni e classi devono essere completamente definiti nei file header poiché vengono istanziati al momento della compilazione
Rilasciato1972 (C language; #include header convention from early C)
Standard aperto · royalty-free
Specificaen.cppreference.com

Conversioni H

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file H. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file H.

Domande frequenti

Come si apre un file .h?
È possibile aprirlo in qualsiasi editor di testo o di codice: i gratuiti VS Code, Notepad++ (Windows), Vim/Emacs/gedit (Linux) o Xcode (Mac). Anche Windows Notepad o macOS TextEdit mostreranno il testo. Si tratta di codice sorgente in testo semplice.
Cos'è un file .h?
È un file header C/C++: un sorgente in testo semplice contenente dichiarazioni (prototipi di funzioni, tipi, costanti, macro) che altri file sorgente condividono tramite #include. Fa parte del codice di un programma, non è un documento o un programma da eseguire.
Qual è la differenza tra un file .h e un file .c (o .cpp)?
L'header (.h) contiene le dichiarazioni e le interfacce; il file .c/.cpp contiene l'implementazione effettiva (il codice che svolge il lavoro). I file sorgente includono (#include) l'header in modo che tutti concordino sulle stesse definizioni.
Posso eseguire o aprire un file .h facendoci doppio clic?
No - un header non fa nulla da solo. Ha importanza solo quando un compilatore C/C++ lo compila insieme ai file sorgente che lo includono. Facendo doppio clic si tenta solo di aprirlo in un editor di testo.
Perché ricevo l'errore «fatal error: xxx.h: No such file or directory»?
Il compilatore non riesce a trovare un header incluso nel codice - il file manca o la sua cartella non è nel percorso di inclusione (include path). Installa la libreria/SDK richiesta o aggiungi la sua directory di inclusione alle impostazioni di build.
Qual è la differenza tra .h e .hpp?
Entrambi sono header. .h è l'estensione tradizionale C (e C/C++ condivisa); .hpp/.hxx/.hh sono convenzioni che alcuni progetti usano per contrassegnare un header come solo C++. I compilatori li trattano allo stesso modo; l'estensione è una scelta di stile.

Riferimenti

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

Continua a esplorare

nel database

Migliori estensioni della settimana

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

Estensioni correlate

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

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z