Hallo Experten, ich moechte fuer Datenaustausch via shared memory einen Parser schreiben, der aus einem C header file die Definition einer Datenstruktur ausliest und fuer jedes Strukturelement seinen relativen Offset zum Beginn der Struktur ermittelt. Dieser Job wird ja nun schon von jedem Compiler erledigt (allerdings plattform- und auch compilerabhaengig; Stichwort alignment). Er gibt es bloss nicht aus. Gibt es (beim gcc) die Moeglichkeit, diese Informationen explizit auszugeben? Oder kennt jemand eine elegante Moeglichkeit, sich diese Offsets (und damit auch das Alignmentverhalten des Compilers) ausgeben zu lassen? Hoffe, dass ich mich einigermassen verstaendlich ausgedrueckt habe. ---------------------------------------------- Best regards / Mit freundlichen Grüßen Rainer Rinke (Philotech) Tel. 089-607-23085 Email: reiner.rinke@m.eads.net ----------------------------------------------
* Rinke, Reiner
Hallo Experten,
ich moechte fuer Datenaustausch via shared memory einen Parser schreiben, der aus einem C header file die Definition einer Datenstruktur ausliest und fuer jedes Strukturelement seinen relativen Offset zum Beginn der Struktur ermittelt.
Dieser Job wird ja nun schon von jedem Compiler erledigt (allerdings plattform- und auch compilerabhaengig; Stichwort alignment). Er gibt es bloss nicht aus.
Gibt es (beim gcc) die Moeglichkeit, diese Informationen explizit auszugeben? Oder kennt jemand eine elegante Moeglichkeit, sich diese Offsets (und damit auch das Alignmentverhalten des Compilers) ausgeben zu lassen?
Genau dafür gibt es ein Perl-Module ==> Convert::Binary::C
Es sind Tools dabei, die du dir anschauen solltest ==> ccconfig zum Beispiel ;)
cu
--
echo '@a=(A..Z,a..z," ");$t="a"x16;{for($x=0,$|=$n=30; $n--;){for($l=$t;
1
participants (2)
-
Remo Behn
-
Rinke, Reiner