FROM : Steve Christensen
DATE : Tue Nov 06 19:28:10 2007
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.
DATE : Tue Nov 06 19:28:10 2007
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.
| Related mails | Author | Date |
|---|---|---|
| Monitus | Nov 5, 21:33 | |
| John Stiles | Nov 5, 21:57 | |
| Steve Christensen | Nov 5, 23:14 | |
| David Spooner | Nov 6, 01:34 | |
| Steve Christensen | Nov 6, 02:53 | |
| Steve Christensen | Nov 6, 19:28 | |
| Steve Christensen | Nov 6, 22:08 |






Cocoa mail archive

