eee hmm cia matyt as supainiojau. Maniau jog yra C ir C++, o kad googlej
lengviau ieskot vartojama vietoj C C#. Ar ne taip?
On Tue, 31 Aug 2010 14:23:56 +0300, Jornada Del Muerto
<agiraTrintI@gmx.co.uk> wrote:
> C# kiek zinau unionu ne nepalaiko :)
>
>
> "GP" <gp@srautas.lt> wrote in message
> news:i5iikn$t55$1@trimpas.omnitel.net...
>> Nespejau atsakyti :)
>> mintis ta pati, cia ne C# o elementaraus C strukturu principai;
>>
>> On 08/31/10 12:33, saimhe wrote:
>>>> typedef struct { //32 bitu bool struktura
>>>> BOOL bReady;
>>>> BOOL bAuto;
>>>> ...
>>>> ...
>>>> } TankStatus ;
>>>>
>>>> TankStatus Tank;
>>>>
>>>> long StatusDWORD;
>>>>
>>>> StatusDWORD=0xFD89;
>>>
>>> Štai tas pats klasikinėmis priemonėmis be jokių # :
>>>
>>> typedef union {
>>> struct {
>>> int bReady:1;
>>> int bAuto:1;
>>> .
>>> :
>>> } flags;
>>> int raw;
>>> } TankStatus;
>>> .
>>> :
>>> Tank.raw=StatusDWORD;
>>> if (Tank.flags.bReady)
>>> .
>>> :
>>>
>>> Užtat bus non-portable tarp "big endian" ir "little endian"
>>> architektūrų ir
>>> panašiaias atvejais. Jei kartais reikėtų tvarkyti, su #ifdef pakanka
>>> aprašyti
>>> kitą TankStatus.flags versiją, kur bitai pateikti reikiama tvarka.
>>>
>>
>> --
>> GP
--
Using Opera's revolutionary email client: http://www.opera.com/mail/