Re: Misaligned accesses with MS ARM compiler
From: Michael J. Salamone [eMVP] (mikesa#at#entrek#dot#com)
Date: 04/28/04
- Next message: Helix: "Re: Howto debug a DLL with WCE emulator ?"
- Previous message: Alan Gillespie: "Misaligned accesses with MS ARM compiler"
- In reply to: Alan Gillespie: "Misaligned accesses with MS ARM compiler"
- Next in thread: Alan Gillespie: "Re: Misaligned accesses with MS ARM compiler"
- Reply: Alan Gillespie: "Re: Misaligned accesses with MS ARM compiler"
- Messages sorted by: [ date ] [ thread ]
Date: Wed, 28 Apr 2004 08:56:15 -0700
Use UNALIGNED in your declararation - which resolves to __unaligned keyword.
-- Michael Salamone [eMVP] Entrek Software, Inc. www.entrek.com "Alan Gillespie" <agillesp@qualcomm.com> wrote in message news:e1TOPcTLEHA.1272@tk2msftngp13.phx.gbl... > > Does anyone know of a way to tell the ARM compiler that a WORD or DWORD pointer addresses an object that is not (or > might not be) aligned on a 16 or 32 bit boundary? > > Effectively what I want to do is this: > > BYTE *pBuffer = malloc(something); > WORD *pWord = (WORD *) &pBuffer[arbitrary_offset]; > DWORD *pDWord = (DWORD *) &pBuffer[another_arbitrary_offset]; > > *pWord = word_value; /* May be misaligned */ > *pDWord = dword_value; /* May be misaligned */ > > I have tried various versions of #pragma pack() without success. I could, of course, use WORD and DWORD temporaries and > memcpy() into the array but that is messy. There are other, equally messy, workarounds involving byte manipulation. > > The problem arises because I am porting a large amount of code that was written for the ARM ADS compiler, which has such > a facility. > > Thanks, > --Alan Gillespie. > >
- Next message: Helix: "Re: Howto debug a DLL with WCE emulator ?"
- Previous message: Alan Gillespie: "Misaligned accesses with MS ARM compiler"
- In reply to: Alan Gillespie: "Misaligned accesses with MS ARM compiler"
- Next in thread: Alan Gillespie: "Re: Misaligned accesses with MS ARM compiler"
- Reply: Alan Gillespie: "Re: Misaligned accesses with MS ARM compiler"
- Messages sorted by: [ date ] [ thread ]