IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

option -DOS de gcc


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut option -DOS de gcc
    Bonjour,
    je relis des sources en C++ et dans le Makefile ça utilise gcc avec l'option -DOS:
    gcc -Wall -DOS=$(OS) ...
    avec OS="LINUX" ou bien OS="SOLARIS" (précisé au début du Makefile).
    Je voudrais savoir si cette option reconnait SOLARIS et aussi SunOS par exemple.
    Mais impossible de trouver quoi que ce soit dans le manuel de gcc ni sur les forums de developpez.com
    Avez-vous une idée ?
    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    En fait l'option n'est pas -DOS mais -D , et ça sert à définir des macros pour le préprocesseur.
    C'est comme si tu faisais un Donc la variable OS dois être utilisée dans ton code source.

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 612
    Points
    30 612
    Par défaut
    Salut, et bienvenue sur le forum.

    En effet, l'option -D permet de fournir un symbole identique à ce que tu obtiens lorsque tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define symbol /*valeur éventuelle */
    Tu devrais donc avoir, quelque part, des directives de compilation conditionnelles adaptées aux différentes valeurs envisagées, sous une forme proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #if OS == "LINUX"
    /*quelque chose */
    #else if OS=="WINDOWS"
    /* adapté pour windows */
    /* #else if OS="encore un autre" */
    /* adapté pour autre */
    #end
    Pour savoir si un système d'exploitation particulier est supporté, il faut que tu trouve ces directives de compilation conditionnelles, et que tu regarde les différentes valeurs fournies, voire, que tu regarde ce qui existe pour le else final
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Invité
    Invité(e)
    Par défaut
    merci bcp à tous les deux !
    J'ai bien cherché mais je ne vois pas de telles définitions dans le code.
    Donc deux possibilités:
    * soit elles ont disparu suite à du remaniement de code
    * soit elles sont utilisés dans les lib standards (la STL par exemple)
    Je penche pour la première explication cependant.

    Ce serait mieux d'utiliser quelque chose comme:
    OS = $(shell uname)

    non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Option linker pthread gcc
    Par Nykoo dans le forum C
    Réponses: 30
    Dernier message: 17/01/2008, 12h17
  2. option -O de gcc
    Par wonderyan dans le forum C
    Réponses: 16
    Dernier message: 21/09/2007, 16h18
  3. Options de compilation GCC
    Par oranoutan dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 14/07/2007, 04h10
  4. Option de compilation gcc : sem.h
    Par Luther13 dans le forum Linux
    Réponses: 8
    Dernier message: 29/12/2004, 12h29
  5. Problème avec l'option -static de gcc
    Par lsdInside dans le forum Linux
    Réponses: 2
    Dernier message: 08/05/2004, 01h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo