zahada delky struktury GCC

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Březen 11 20:21:30 CET 2024


union...
jde o to, ze potrebuju, aby struktura mela vzdy 1024B a CRC na konci, 
dorovnava to ba a cekal jsem ze problem bude jen v pripade, kdyz se tam 
funkcni polozky uz nevejdou...
uz zacinam chapat, proc se union nema pouzivat a udelam to casem jinak.

Dne 11.03.2024 v 20:18 Jindroush napsal(a):
> Nechapu? Zamenite dve 32bitove za dve 64bitove (double, FP64), takze 
> mate zabrano o 64bitu - 8 bajtu vice, coz odpovida 1032-1024? Divim 
> se, kde je co k diveni? :-) Nebo jsem neco nepochopil.
> J.
>
> On 11.03.2024 19:41, Jaroslav Buchta wrote:
>> Mejme tyto struktury
>>
>> #define CFG_DATA_LEN    1024
>> #define GPS_FIXP_MULT    (10e7)
>>
>> typedef struct
>> {
>>     char first_read[9];
>>     uint8_t res_valid;
>>     uint8_t reserved;
>>     char user_card[9];
>>     char user_phone[13];
>>     char res_time[34];
>> } app_data_reservation_t;
>>
>>
>> typedef struct {
>>     union {
>>         struct {
>>             uint32_t     index;                        // index of 
>> configuration, count of writes
>>             int            gsm_preffered_speed;        // module GSM 
>> baudrate
>>             char        gsm_apn[32];                // module GSM APN
>>             char         car_ident[8];                // car 
>> identification
>>             char         car_aeskey[65];                // 256b -> 64 
>> chars hex encoded
>>             app_data_reservation_t    reservation;    // reservation 
>> data
>>             int32_t        gps_last_latitude;            // car last 
>> known latitude, *10^7 (GPS_FIXP_MULT)
>>             int32_t        gps_last_longitude;            // car last 
>> known longitude, *10^7 (GPS_FIXP_MULT)
>>         };
>>         uint8_t ba[CFG_DATA_LEN - 4];
>>     };
>>     uint32_t crc32;
>> } app_data_cfg_t;
>>
>> Takhle je to dle ocekavani, app_data_cfg_t ma delku 1024B
>>
>> Kdyz ale pro ty GPS souradnice pouziju typ double, neni delka 
>> ocekavanych 1024 ale 1032B
>>
>> Myslel jsem nejdriv, ze je to tou vlozenou strukturu ale dela to ten 
>> double.
>>
>> Tusi nekdo, cim to je? Je to nejaka pro me skryta vlastnost nebo chyba?
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>



Další informace o konferenci Hw-list