• [^] # Re: Oui, mais.

    Posté par . En réponse au journal Self serving. Évalué à 2.

    Stricto sensu, ça ne la fait pas varier en effet, mais le résultat est le même. Note que ce n'est pas seulement errno: la structure FILE change, donc si une bibliothèque dynamique compilée avec MSVC X passe un FILE* à une bibliothèque dynamique compilée avec MSVC Y, ça casse (*). Ceci parce que chaque bibliothèque dynamique utilisera un msvcrt différent.

    Avec les bibliothèques partagées de type Unix, il n'y a pas ce problème, car toutes les bibliothèques chargées dans un processus partagent la même libc : les pointeurs sont naturellement compatibles.

    ((*) il y a peut-être d'autres cas similaires, mais FILE est le plus visible et le plus gênant ici)