Fichiers d'en tête avec différent compilateur

Fermé
lawre Messages postés 36 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 19 novembre 2010 - 11 juil. 2005 à 22:33
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 - 17 juil. 2005 à 14:25
Bonjour,

Je viens de me lancer dans l'apprentissage du language C++ et j'utilise 2 compilateurs: DEV C++ et Visual C++ 2005 en version beta.

Le même programme qui consiste en une déclaration d'une variable de type float et de son affichage via la fonction printf.
Avec DEV C++ il me faut inclure le fichier d'en tête "stdio.h" alors que'avec Visual C++ il me faut "stdafx.h" .

Pouvez vous me dire pourquoi avec la même fonction printf et avec 2 compilateurs il me faut 2 fichiers d'en tête.

question 2: j'ai DEV en français sans l'aide , et visual c en version beta avec l'aide MDSN mais en anglais. Comment peut on le trouver gratuitement en français?

Merci de m'avoir lu.
Bonne journée.

5 réponses

mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
12 juil. 2005 à 01:44
Tu peux essayer de faire de t'en sortir à l'aide de #define
#ifdef DEV_CPP
#include <stdio.h>
#endif

#ifdef VISUAL_CPP
#include <stdafx.h>
#endif

Et passer l'option de compilation qui va bien : ex avec gcc :
gcc -DDEV_CPP plop.c

(et pas -DEV_CPP)

Note que sous linux c'est stio.h qui est utilisé, ce qui me laisse penser que stdafx est un truc bien windowsien (et même microsoftien). Quitte à choisir entre les deux j'opterais pour la première pour être compatible avec linux.
0
Salut,

Merci pour ta réponse.
Je crois effectivement que développer des applications transportables impose ce choix.

J'ai essayé d'inclure tes lignes de codes et de compiler avec les 2 compilateurs.
Ca marche pas!
Avec Visual C++: fatale error C1020 unexpected # endif
et avec DEV c'est la ligne "gcc -DDEV_CPP plop.c" qui pose problème à la compilation.
D'ailleur je n'est pas compris le sens de cette ligne.
Peux tu m'en dire plus stp.
Merci et bonne soirée.
0
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
13 juil. 2005 à 00:54
En effet, sinon tu ne l'aurais pas tapée :p C'est la ligne que tu tapes dans une console pour compiler avec gcc (un autre compilatuer donc !) sous linux ;)

L'option -D permet d'activer la définition des variables "#define...", et donc de passer sur différentes sections du programmes à la compilation.

Comme gcc utilise le même nom de header que devcpp c'est pour celà que j'ai mis -DDEV_CPP. Il faut juste que tu passes la bonne option au compilateur ;) Capté ?

Bonnne chance.
0
Resalut,

Je dois avouer pas trop avoir compris ton idée. Je programme sous windows et je crois que je vais continuer mon apprentissage avec des bouquins car je ne connais pas du tout l'environnement du C qui me parait assez complexe.
Merci à toi d'avoir répondu et quand je serai plus au point je reprendrai ton idée pour la décortiter.

Bonne journée!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
17 juil. 2005 à 14:25
L'idée c'est juste autoriser l'accès ou non à certaines sections de codes à l'aides de #define... Et tu définis ces variables ou non à la compilation. Ca va pas chercher plus loin ^^
0