Tema: Re: Reikia pagalbos C#
Autorius: Tomis
Data: 2010-08-31 14:27:34
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/