zahada delky struktury GCC
Miroslav Mraz
mrazik na volny.cz
Pondělí Březen 11 20:25:10 CET 2024
To se sice doporučuje, ale asi to nepomůže. Já to sice taky nechápu, ale
pomůže
typedef struct {
union {
struct {
char gsm_apn[32]; // module GSM APN
// ...
double gps_last_latitude; // car last known
latitude, *10^7 (GPS_FIXP_MULT)
double gps_last_longitude; // car last known
longitude, *10^7 (GPS_FIXP_MULT)
}__attribute__((packed));
uint8_t ba[CFG_DATA_LEN - 4];
};
uint32_t crc32;
} app_data_cfg_t;
Mrazík
On 11. 03. 24 20:10, Jaroslav Buchta wrote:
> Muzete upresnit? Nechapu co mate na mysli. Myslim, ze to rozhodily ty
> double i bez vlozene struct ale to bych musel znova zkusit.
> Jo a samozrejme 1e7 ma byt ta konstanta. Ono je to stejne lepsi ukladat
> do int32*1e7 nez do double, aby to melo OK rozliseni (float nestaci ani
> nahodou), ale je to konverze starsiho projektu a bude se to muset vic
> predelat...
> A osvedcilo se pouziti kontroly static_assert (sizeof(app_data_cfg_t) ==
> CFG_DATA_LEN); jinak bych na to jen tak neprisel a je to dulezite kvuli
> ulozisti...
Další informace o konferenci Hw-list