Non capisco come debbano essere separate le cose nei file di origine e di intestazione di C. Vedo spesso molti progetti con due serie di file con lo stesso nome (contiene l'estensione che indica i file di origine e di intestazione).Qualsiasi differenza fondamentale tra i file di origine e di intestazione in C?
Finora, da questa mancanza di comprensione, quando ho scritto le librerie, ho spostato tutto il codice del codice classe e classe in un unico file, con indecisione sulla scelta dell'estensione del file.
Cosa dovrebbero esserci nelle intestazioni e cosa dovrebbe essere nei file sorgente? Come implementare questa separazione?
Sfortunatamente, anche se lo standard non impone nulla, la maggior parte dei compilatori che ho usato dipendono in una certa misura dall'estensione del file. Prova questo: crea due file contenenti (ad esempio, 'int main() {return 0;}') chiamato 'header.c' e' header.h' e prova a compilarli con gcc.(Non mi sto neanche avvicinando a VS!) – dirkgently
Sospetto che la maggior parte dei programmatori non inserisca le dichiarazioni delle funzioni statiche nel file .h. La principale differenza tra .h e .c è tra interfaccia e implementazione. – Dipstick
@dirkgently: Ok, ma il compilatore non agisce come un compilatore C se non ottiene l'estensione file giusta. Lo standard non dice nulla sui programmi che non sono compilatori C :) – Thomas