Re: Question about GTK+ and timers
- From: Chris Vine <chris cvine freeserve co uk>
- To: Igor Korot <ikorot01 gmail com>
- Cc: gtk-list gnome org
- Subject: Re: Question about GTK+ and timers
- Date: Sat, 9 Apr 2011 00:31:40 +0100
On Fri, 8 Apr 2011 15:43:17 -0700
Igor Korot <ikorot01 gmail com> wrote:
> Paul,
>
> On Fri, Apr 8, 2011 at 3:28 PM, Paul Davis
> <paul linuxaudiosystems com> wrote:
> > On Fri, Apr 8, 2011 at 6:14 PM, Igor Korot <ikorot01 gmail com>
> > wrote:
> >> Mikhail,
> >>
> >> On Fri, Apr 8, 2011 at 2:33 PM, Mikhail Titov <mlt gmx us> wrote:
> >>> As far as I understand it is possible to use it with NULL for
> >>> encoding. It should just read bytes with no interpretation.
> >>>
> >>> http://www.mail-archive.com/gtk-list gnome org/msg29589.html
> >>>
> >>> Mikhail
> >>
> >> I understand this.
> >> However, what I want is to read data in:
> >>
> >> struct Data
> >> {
> >> char m_header[2];
> >> char m_code;
> >> char m_voltageMask[2];
> >> char m_highestVoltage[2];
> >> char m_lowestVoltage[2];
> >> char m_status;
> >> } m_data;
> >>
> >> I need to look at voltageMask, highestVoltage and lowestVoltage
> >> initially. Is it possible to use m_data with GIOChannel?
> >
> > of course.
> >
> > but you'd better hope that the compiler packs that data structure in
> > the same way the device is sending it. you'd be far better off not
> > using a struct for this, but just reading (in your case) 10 bytes.
> >
> > sending raw C structs over any kind of "wire protocol" almost always
> > turns out to be huge mistake unless its been very carefully thought
> > about.
>
>
> So best way is to use char m_data[10]?
Why do you have this idea you need to use an aggregate, which then
causes packing and layout issues to arise, leading to non-portability.
Why not send them as individual entities, since you are guaranteed that
they will be serialised? (I am not saying that you don't have a reason,
but you have not given it.)
Chris
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]