cast a C char array - offset ?
irtcupc via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Feb 2 05:40:29 PST 2015
On Monday, 2 February 2015 at 13:34:28 UTC, ketmar wrote:
> On Mon, 02 Feb 2015 13:32:57 +0000, ketmar wrote:
>
>> On Mon, 02 Feb 2015 13:23:23 +0000, irtcupc wrote:
>>
>>> my current understanding is that:
>>> - C: char CompleteInstr[INSTRUCT_LENGTH] is actually a raw
>>> chunk - D:
>>> defining the member as char[INSTRUCT_LENGTH] is an error -
>>> the first
>>> member of a D array is the .length - first char actually
>>> stands where
>>> .length uses to be, which explains the shift.
>>
>> nope. fixed length arrays doesn't have dedicated `.length`
>> member. try
>> this:
>>
>> align(1)
>> struct _Disasm {
>> align(1):
>> ...
>
> actually, first align is not necessary at all. i.e.:
>
> struct _Disasm {
> align(1):
>
> the difference is that `align` before struct tells how
> structure should
> be packed (i.e. when you have `_Disasm[2] arr`). and `align`
> *inside*
> struct tells compiler how struct *members* should be packed.
Thx, problem fixed, it works now.
More information about the Digitalmars-d-learn
mailing list