Le code Fortran suivant me donne une erreur de bus sur mon Mac, mais pas d'erreurs quand je le lance sur ma machine Linux:erreur de bus Fortran sur mac
PROGRAM TINY
WRITE(UNIT=*, FMT=*) 'Hello, world!'
END
Ma compréhension est qu'une erreur de bus se produit lorsque le programme tente d'accéder à la mémoire impossible, mais je ne comprends pas où une telle tentative a été faite dans ce programme. Mon MacBook a GCC 4.4.0 et ma machine Linux a GCC 4.3.2. Des idées sur la raison pour laquelle cette erreur se produit?
erreur de bus signifie essayer d'écrire dans la mémoire programme – JoelFan
"erreur de bus" est causée par un accès à une adresse physiquement illégale - voir http://en.wikipedia.org/wiki/Bus_error. En revanche, une "erreur de segmentation" est généralement provoquée par l'accès à une adresse qui existe, mais à laquelle le programme n'est pas autorisé à accéder - voir http://en.wikipedia.org/wiki/Segmentation_fault. Essayer d'écrire dans la mémoire du programme provoquerait probablement une erreur de segmentation. Cela dépend du système d'exploitation, etc. –
oups, désolé ... devrais-je supprimer mon commentaire? – JoelFan