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 :

Pourquoi mon code fonctionne sous mac et pas sous windows?


Sujet :

C

  1. #1
    Membre habitué Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Points : 159
    Points
    159
    Par défaut Pourquoi mon code fonctionne sous mac et pas sous windows?
    La semaine je travail le soir sur macbook, le week end je retrouve mon pc windows "fixe".

    Et j'aimerai savoir pour quelles raisons un code qui marche parfaitement sous mac peut ne pas marcher pas sous windows...... C'est "fréquent"

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Il faudrait donner un exemple simple qui reproduit ton problème. On ne peut pas répondre comme ça.

    Cela peut venir d'un problème de portabilité par exemple. Style écriture ou lecture à l'arrache dans ou vers une structure (fichier -> mémoire, et vice versa), sans tenir compte des questions de boutisme ou d'alignement. Ou bien un problème de taille de type, etc. Y a des milliers de raisons.

    Un problème peut passer inaperçu sur telle machine et peut tout faire crasher sur une autre, ...

  3. #3
    Membre habitué Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Points : 159
    Points
    159
    Par défaut
    Erf c'est beaucoup trop long pour que je poste tout ici: s C'était surtout pour savoir "en général" s'il y a des raisons fréquentes pour ce genre de problème ><

    Je me souviens d'un ancien code qui triait un tableau, il le triait parfaitement sous windows, et sous OpenVMS il le triait "mal"...

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Parmi les différences les plus notoire, on peut noter :

    • Les séparateurs de chemins '/' contre '\'.
    • L'arborescence notion de racine contre notion de disque
    • Le support de posix (signaux, fork, ...)


    Après, il peut aussi y avoir des différences venant du compilateur, lequel utilises tu sous windows (je suppose que tu utilises gcc sous mac)
    Différents compilateurs peuvent par exemple aligner les structures chacun à leur sauce.

    Quels genre de développement fais tu qui passent sur une machine et pas sur l'autre ?

    Et j'aimerai savoir pour quelles raisons un code qui marche parfaitement sous mac peut ne pas marcher pas sous windows
    Attention, ce n'est pas parce qu'un programme fait ce que tu attends qu'il fonctionne parfaitement. Un dépassement mémoire peut passer inaperçu sur une architecture et provoquer un crash sur une autre.


    On peut aussi citer l'endianness (si ton mac a un processeur ppc)

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    on peut aussi citer les fins de lignes des fichiers textes :

    \n sour unixoides
    \n\r (ou dans l'autre sens) (plus éventuellement autre chose) sous win..

    Voir un fichier texte créé sous Win avec Linux afiiche le fameux ^M à chaque fin de ligne...

  6. #6
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    La réponse courte est que ton code est non-standard et/ou non portable.

    Non standard : par exemple, si tu utilises POSIX, qui n'est que partiellement implémentée sous Windows
    Non portable : typiquement les problèmes de chemin (/ et \)

    Le code standard et portable fonctionne sur toutes les cibles, sauf problème (connu dans ce cas là) sur la cible (*).



    (*) Par exemple, gcc 3.3 en mode 64 bits sous Solaris 10 pour processeur x86 est buggé

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

Discussions similaires

  1. Bad_alloc sous Linux mais pas sous mac
    Par betaplus dans le forum C++
    Réponses: 4
    Dernier message: 11/03/2013, 14h03
  2. Bug sous mac mais pas sous windows
    Par Philp974 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/08/2010, 16h59
  3. Réponses: 4
    Dernier message: 04/06/2009, 09h51
  4. pourquoi mon code ne fonctionne pas
    Par jmlb35 dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/06/2008, 19h02
  5. Réponses: 6
    Dernier message: 12/04/2007, 13h58

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