URL: https://linuxfr.org/forums/programmation-c--2/posts/difference-affectation-de-structure-et-memcpy Title: Différence affectation de structure et memcpy Authors: Maxime Date: 2012年03月27日T14:15:38+02:00 Tags: Score: 3 Bonjour, Je dev un OS (à titre perso) avec sa libc associée et je viens de résoudre un bug qui affectait bochs mais pas qemu : En gros, mon application userspace reconfigure le tty pour le passer en raw (copie de la conf courante, passage en raw, application de la nouvelle conf). J'ai donc écrit pour recopier la conf courante : struct termios newt = oldt; avec oldt un struct termios déclaré juste au dessus et initialisé comme il faut par un syscall. C'est précisément cette ligne qui me fait planter mon OS sous bochs mais qui marche parfaitement sous QEMU. Alors par curiosité j'ai remplacé par un memcpy(&newt, &oldt, sizeof(newt)) et là, ô miracle, ça marche. Est-ce que quelqu'un pourrait m'expliquer la différence fondamentale entre ces 2 solutions ? Et pourquoi ça marcherait avec un émulateur et pas un autre. Merci. --------------- Mise à jour du 26/01/2015 : Le problème était lié à la valeur du registre « es » que j'avais mal initialisé. QEMU aurait dû me lever une exception (GPE) comme le fait Bochs mais il est visiblement assez permissif.

AltStyle によって変換されたページ (->オリジナル) /