Stdio.h stdlib.h stdafx.h

Résolu/Fermé
Utilisateur anonyme - 28 juil. 2011 à 01:50
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 28 juil. 2011 à 05:08
Bonjour, je voudrait savoir la difference entre les librairie s stdafx.h et stdio.h/stdlib.h parce que visual studio utilise stdafx et code :: block utilise stdio.h et stdlib c'est quoi la différence

merci



1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
28 juil. 2011 à 05:08
stdafx.h est généré automatiquement par Visual Studio à chaque projet, c'est l'"en-tête précompilé" du projet. Selon le type de projet (console ou autre) le contenu de stdafx.h peut varier, mais en général on retrouve l'include de "stdio.h" (comme pour Code::Blocks donc) et de "tchar.h" (qui contient des méthodes 'windows' équivalentes à "stdlib.h") donc on final le comportement des deux IDE est à peu près semblable, ils incluent tous deux les méthodes standards pour commencer, sauf que Visual Studio utilisent les standards Windows alors que Code::Blocks utilisent des standards plus 'universels'

Même si Visual Studio est je trouve très puissant, dans la mesure du possible je déconseillerai d'utiliser les en-têtes précompilés (et donc stdafx.h") qui t'obligent à réfléchir ton programme comme un programme Windows, c'est à dire en utilisant leurs standards, comme par exemple en utilisant le point d'entrée int _tmain(int argc, _TCHAR* argv[]) au lieu du traditionnel int main(int args, char* argv[])
Si tu veux faire du C/C++ avec Visual Studio je te conseilles de partir d'un projet vide et de rajouter toi même tes includes ("stdio.h" et "stdlib.h" si tu en as besoin) et ainsi ne pas t'embêter avec les standards Windows, mais au contraire faire du C/C++ propre...
7