URL: https://linuxfr.org/forums/programmation-c--2/posts/r%C3%A9cup%C3%A9rer-les-offsets-des-membres-dune-structure Title: Récupérer les offsets des membres d'une structure. Authors: Obsidian Date: 2005年12月04日T16:50:28+01:00 Tags: Score: 0 Bonjour, Je programme en langage C depuis un certain temps, mais pour finaliser un projet actuellement en cours, je cherche à accomplir une chose à laquelle je n'ai pas encore été confronté (en C). Mon but est « d'externaliser », un peu comme en Java, le contenu des membres d'une structure sous forme texte au travers d'un fichier ou d'un _socket_. L'objectif est de pouvoir synchroniser ce contenu entre deux structures homologues sur deux machines différentes, ou de permettre leur sauvegarde et leur restauration facilement. J'aimerais donc savoir s'il y a moyen de connaître à la compilation les _offsets_ (décalages) de chaque membre d'une structure par rapport à son adresse de base. L'idée est de mettre le tout dans un grand tableau, avec une indication du type, et d'écrire une fonction générique qui serait capable de lire le contenu de n'importe quelle structure référencée par un pointeur pour peu qu'on lui transmette également ce tableau. Je sais que je peux les retrouver de façon « à peu près propre » en utilisant l'arithmétique des pointeurs, mais cela m'oblige à instancier une de ces structures avant de pouvoir les calculer, et implique donc que ces valeurs soient déterminées au _runtime_ et pas à la compilation. Quelqu'un a-t-il une idée ? Existerait-il, par hasard, des fonctions toutes faites pour ce genre d'utilisation en langage C ? Merci d'avance.

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