VC++ & precompiled header

VC++ & precompiled header - C++ - Programmation

Marsh Posté le 20-04-2006 à 15:01:37    

Bonjour a tous!
 
Je debutte avec VC++ (actuellement sous la version 6), et me lance dans un projet en utilisant les MFC.
 
Il y a un truc qui m'intrigue, et je n'arrive pas a obtenir une reponse clair sur le net :
"precompiled header" -> c'est quoi? et a quoi ça sert?
 
J'ai bien remarqué que si je faisait 'empty project' j'avais pas de probleme avec ça, et que sinon j'avais les fichier "stdafx.h" et "stdafx.cpp" ajouté a mon projet, et qui me font chier des que je compile.
Alors j'avais une erreur du type : "unexpected eof while looking for precompiled header", apres j'ai cherché, on m'a dit : "faut mettre des "#include "stdafx.h"" au debut de tes fichiers.  
Bon, ok pourquoi pas. hop, oh ben tien nouvelle erreur! "is not a precompiled header file created with this compiler"
Mais c'est quoi ce bordel?
Bref, la seul solution que j'ai trouvé a donc été de modifier les settings de mon projet pour dire de ne pas utilisé les "precompiled header".
Mais j'aimerai savoir comment ça marche, ça pourrait peut-etre me servir un jour?!
 
Voila merci de vos reponse.
 
 
 
ah oui, autre chose, est-il possible d'inclure des fichier .c dans un projet MFC ? Car je doit faire un projet pour mes etudes en C, mais l'interface graphique libre (c'est la que j'me suis lancer dans le MFC). Mais si je met un .c il me fait la gueule. Donc j'ai renommé e, .cpp et j'ecris quand meme en C mais mes prof risque de pas trop aimé s'il mettent leur nez dans les fichiers...
 
 
Merci.
 

Reply

Marsh Posté le 20-04-2006 à 15:01:37   

Reply

Marsh Posté le 20-04-2006 à 15:12:20    

http://www.google.fr/search?hs=yjD [...] DcountryFR
 
Oui tu peux mettre du C dans ton projet c++.

Reply

Marsh Posté le 20-04-2006 à 21:28:52    

Merci mais ça m'avance pas des masses.
Tout ce que j'ai compris au precompiled header c'est que ça fait gagné pas mal de temps a la compil. ok.
Mais je n'ai pas trouvé le principe de fonctionnement, ni comment m'en servir comme il faut sous VC++. Voir l'exemple de mon prog MFC ou j'ai du desactivé.
 
Et concernant le C dans le C++, c'est le compilateur qui m'envoie un message pour me reclamer que des .cpp "MFC require cpp extension", un truc comme ça.

Reply

Marsh Posté le 20-04-2006 à 23:00:09    

pour le "is not a precompiled header file created with this compiler" c'est qu'il faut certainement faire un rebuild total avec nettoyage.
 
pour le coup des stdafx.h, si tu veux pas les mettres, tu vas sur le fichier  tu fais les propriétées dessus et dans les options de compilation tu désactives l'utilisation des headers précompilés.

Reply

Marsh Posté le 21-04-2006 à 11:57:49    

Salut,
Pour le pricipe, c'est simple quand tu programme sous windows tu utilise plein de librairies (windows.h, mfc.h, ...) qui sont fixes (ie que tu ne modifie pas!)
Le principe est donc de mettre les includes de ces librairies dans stdafx.h et quand le compilo passe il les compile. Lorsque tu re-compile ton projet, le compilo sait que ces fichiers ne dependent pas de ton projet et ne les recompile pas.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed