3 ms·
Were you using GCC's __attribute__((__packed__))? Anyway, the standard way (to handle protocols) is to parse the thing not making any assumption of the struct
by vicaya 17y ago
Were you using GCC's __attribute__((__packed__))?
Anyway, the standard way (to handle protocols) is to parse the thing not making any assumption of the struct layout.
- tjr 17y agoYes. The other structures all packed correctly. If I am understanding what you are saying, we really couldn't do that, as the server sent and expected to receive binary blobs of data; the only way to know what was what was to have a map of where the data elements were.
- joe_bleau 17y agoI like to use macros (in C) to spit out the structure size and offsets of each structure member over a serial port, in a format I can then cut-n-paste back into the source. This output consists of a bunch of (compile-time, when possible) assertions so that any changes to a structure break the build. These assertions go on both the embedded side and the PC server side, so any weird packing issues show up at compile time.