>>>>> "c" == chromatic <[EMAIL PROTECTED]> writes:
c> I ran this program in lieu of the debugger:
i recall an old trick i learned to get offsets into structs which would
be easier to read than hex addresses:
c> int main ()
c> {
c> SDL_KeyboardEvent kbevent;
c> printf( "0x%08X event\n", &kbevent );
c> printf( "0x%08X event.type\n", &kbevent.type );
<untested>
printf( "%d event.type\n", (char *)&kbevent.type ) - (char *)&kbevent ;
it can be made into a macro IIRC for ease of use.
that could be done with a perl script for any structure and it could
generate an offset map for the given environment. that map could be used
by parrot to access members in a portable way.
so the script would parse a structure, generate a set of those prints
(with the right format output) and compile it with the same tools as
parrot. run that little c program and save the output in a file. parrot
reads that file and uses it as a name to offset map for that structure.
want me to hack up this little script and c generation stuff? the hard
part is parsing the struct so i would have to assume some simple format
and not full c for the moment. the only thing needed by the parser is
all the member names.
uri
--
Uri Guttman ------ [EMAIL PROTECTED] -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org