Auteur: Dominique Chabord Date: À: guilde Sujet: Re: Portabilité C vers différents OS et processeurs
Bonjour,
Merci pour les informations que vous m'avez fait parvenir directement.
Voici en conclusion les modifications qui ont été apportées au code, selon
que l'on tourne Linux ou OpenBSD ou Mac OS X
<< The fifo problem was because OpenBSD doesn't support fifos or 'named
pipes'
the same way as Linux. Under Linux a named pipe is created as a special file
using the 'mknod()' call. Under OpenBSD a fifo is created using the
'mkfifo()' call.>>
Quant à l'erreur sur le checksum, elle venait bien de la manière dont les
octets sont regroupés pour constituer le message envoyé sur le réseau qui
était dépendante des conventions d'adressage des processeurs Intel et
PowerPC en l'occurence. Problème réglé, pour tout type de processeur à
priori (à tester).
Amicalement
Dominique
----- Original Message -----
From: "Dominique Chabord"
> Bonjour,
>
> En exécutant un logiciel C compilé sans erreur par gcc sur différentes
> plateformes, j'ai des problèmes de compatibilité.
>
> En l'occurrence:
> - Les named pipes (fifos) qui fonctionnent correctement sur Linux ne
> fonctionnent pas telles quelles sur OpenBSD et MacOSX.
> - Le logiciel utilise une fonction checksum sur une zone mémoire pour
> vérifier la cohérence des paramètres de configuration entre les différents
> noeuds d'un cluster. Le résultat du Checksum est différent sur Intel (Linux, > OpenBSD) et sur PPC (MacOS X).
>
> Avez vous des pointeurs vers de l'information sur
> - Les incompatibilités entre les OS de la famille UNIX (Libres et non
> libres), ou les bibliothèques de compatibilité existantes
> - La comparaison des modes d'adressage des processeurs
> Motorola/Intel/SPARC/Alpha et la façon de de s'en affranchir en C ?
>
> Ca doit faire partie de la panoplie de l'étudiant en informatique, mais je
> ne sais pas où trouver l'information synthétique.
>
> Merci pour tout commentaire
> Amicalement
> Dominique
>
>