Re: Struct introspection or information
Re: Struct introspection or information
- Subject: Re: Struct introspection or information
- From: Steve Christensen <email@hidden>
- Date: Tue, 6 Nov 2007 10:28:10 -0800
The main issue is that a structure declaration is last used by the
compiler to determine how to allocate memory for a structure
instance, and what the offset and size of a field is so it can be
accessed correctly. Once the assembly instructions corresponding to
the original C statements has been generated there's no further need
to know what the fields were named or what they actually refer to.
On Nov 6, 2007, at 8:25 AM, Monitus wrote:
Thank you to all who replied... Yes, the original problem stated
that I didn't have access to any kind of structure definition...
Still, I tried the @encode suggestion, and it looks like it gave me
an incomplete result - like @encode(struct __MyStruct) gave
"{__My"... Strange... Anyway, I'm now looking for other ways of
doing what I need to do, a I seriously doubt i can get to the
structure info...
Thanks again!
Jean.
On Nov 5, 2007, at 8:53 PM, Steve Christensen wrote:
I may have misunderstood, but I thought the OP mentioned not
having access to the headers that define certain C structs. If
that's the case, we're talking about opaque structures from the
point of view of the caller, right?
On Nov 5, 2007, at 4:34 PM, David Spooner wrote:
You might get some mileage out of the @encode() directive. It
produces a c-string encoding of a c type, which (with significant
effort) can be parsed in order to traverse a c structure of that
type. These encodings do not contain the field names of
structures, but they often contain structure tag names...
More information is available in the section "Type Encodings" of
The Objective-C 2.0 Programming Language
dave
On 5-Nov-07, at 1:33 PM, Monitus wrote:
Good day everyone - sorry if this is not totally Cocoa-related:
if there's a better list for this, please let me know and accept
my apologies in advance...
Is there any way to know the fields in a C structure, if you
don't have the headers that define it? Or at the very least, is
it possible to access it's field values?
Thanks!
Jean Le Clerc.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden