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 :

Compilation avec GCC et compilation avec VS 2010 => Resultat différent !


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut Compilation avec GCC et compilation avec VS 2010 => Resultat différent !
    Bonsoir,

    J'avance sur un projet simultanément sur VS 2010 et sur C::B ( lorsque j'ai ma machine ubuntu ). J'utilise aussi la ligne de commande pour build avec gcc

    Pas de problèmes notables jusqu'à maintenant. Mais là je récupère un truc vraiment bizarre sur un simple printf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("sylF : %s ------------\n",current->sylF);
    Sous Windows, la console me sort :
    sylF : johnson ------------
    Sous Ubuntu :
    ------------
    On remarque facilement que johnson s'est barré avec le "sylF :" et ne laisse que les "--" qui manifestement ne l’intéresse pas.

    Pourquoi johnson prend de telle libertés sous Ubuntu et pas sous Windows ?
    Le code derrière étant strictement le même.


    PS : Je viens de mettre C::B sur mon PC sous Windows, en compilant avec GCC j'obtiens la même chose qu'avec VS 2010.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Bonsoir,

    Citation Envoyé par Kiwii Voir le message
    Pourquoi johnson prend de telle libertés sous Ubuntu et pas sous Windows ? Le code derrière étant strictement le même.
    Parce qu'il s'agit d'un bug intermittent, ce qui arrive fréquemment, et qu'il y a donc de fortes chances pour que ton code soit incorrect, même s'il « tombe en marche » dans certains cas. Ça peut arriver, par exemple, si tu as déclaré la même structure dans deux fonctions différentes en faisant l'hypothèse que c'est la même. Soit, la nouvelle structure est re-déclarée exactement au même endroit et comme la mémoire n'est pas nettoyée par défaut, elle hérite de ce qu'il y a en dessous, soit la pile est modifiée et elle est re-déclarée ailleurs, auquel cas ton pointeur peut pointer absolument n'importe où. C'est même étrange que cela ne se soit pas encore fini en segfault… Évidemment, il ne s'agit que de suppositions. Par conséquent :

    Montre nous ton code (avec les balises [code] et [/code]).

Discussions similaires

  1. Problème de compilation GMP 4.3.1 avec GCC 4.4.0
    Par Kaluza dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 03/01/2010, 23h57
  2. Problème avec mon code et avec gcc
    Par JavaAcro dans le forum Linux
    Réponses: 3
    Dernier message: 13/06/2006, 22h47
  3. Problème de compilation avec gcc
    Par Niktou dans le forum Linux
    Réponses: 9
    Dernier message: 27/09/2005, 15h18
  4. compilation avec gcc : erreurs bizard !!!
    Par CodeurNé dans le forum C
    Réponses: 2
    Dernier message: 23/09/2005, 18h09
  5. Réponses: 3
    Dernier message: 22/08/2005, 18h28

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