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
31168
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
24 juin 2022
- 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
31168
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
24 juin 2022
7 365
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
31168
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
24 juin 2022
7 365
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
31168
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
24 juin 2022
7 365
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