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"![]()
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"![]()
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, ...
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"...
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 ?
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.Et j'aimerai savoir pour quelles raisons un code qui marche parfaitement sous mac peut ne pas marcher pas sous windows
On peut aussi citer l'endianness (si ton mac a un processeur ppc)
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...
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é
Partager