Programme rate sur windows

Programme rate sur windows

par Alexandre Antonino Frédérique Santangelo,
Number of replies: 3

Bonjour, 

J'ai commencé à coder mon projet avec CLion sur windows mais suis rapidement passé sur ubuntu (pour utiliser valgrind). 

Mon programme semble marcher correctement sur Ubuntu, il compile et output le résultat attendu quand je le lance : 

$gcc -o todolist.o -Wall - todolist.c

$./todolist.o


Mais sur windows, mon programme ne marche plus. Il s'arrete en cours d'éxecution et affiche un SEGMENTATION FAULT. 

Que puis-je faire ? 

In reply to Alexandre Antonino Frédérique Santangelo

Re: Programme rate sur windows

par Alexandre Antonino Frédérique Santangelo,

UPDATE: 

Le programme marche maintenant sur windows comme sur ubuntu. 

Mon problème venais d'une initialisation fausse : 

structure* new = malloc(sizeof(structure)); 

new->champ1 = blabla

new->champ2 = blabla

Ceci me donnais donc une erreur (j'imagine que parce que je n'ai pas proprement initialisé new). J'ai donc initialisé le pointeur d'une autre façon. 

CEPENDANT sur ubuntu, je n'avais aucune erreur. StackOverflow m'a expliqué que ceci pouvait venir du fait que gcc aurait initialisé mon pointeur alors que MinGW non. 

Pourriez vous m'éclairer là dessus ? Comment sont en général compilés les programmes en C ? 

Ceci m'embete car si je n'avais testé (par pur hazard) mon programme sur windows, j'aurais eu un code faux... (ou pas ?). 

In reply to Alexandre Antonino Frédérique Santangelo

Re: Programme rate sur windows

par Jean-Cédric Chappelier,

Un code faux est faux, même si on ne voit pas forcément le résultat de l'erreur.
C'est pour cela que « mais Monsieur mon code marche » n'est pas un argument. « marcher » ne suifft pas, il faut que « ça marche TOUT LE TEMPS » , c.-à-d. que le code ne soit pas faux.

Dans votre cas, ce n'est pas tant lié à l'OS lui-même qu'au compilateur, contexte d'exécution, etc..