[alsa-devel] (no subject)
Hi: I'm confused by a problem when i modify a test application "alsa-lib-1.0.13/test/control.c". I wanna use the structure "snd_ctl_elem_value_t",but when i write like this: snd_ctl_elem_value_t aaa; there will be an error: storage size of 'aaa' isn't known while snd_ctl_elem_value_t *aaa; makes no errors. But i can't change it directly such as: aaa->id=test_id ; //test_id is defined before cause it will bring an error: dereferencing pointer to incomplete type I think i should use the function like "snd_ctl_elem_info_set_id",but i just want to know why,i don't think it disobeys the C syntax.Is there something different in the ALSA making procedure?or Makefile?
haoshun 2008-04-03
郝舜 wrote:
I'm confused by a problem when i modify a test application "alsa-lib-1.0.13/test/control.c". I wanna use the structure "snd_ctl_elem_value_t",but when i write like this: snd_ctl_elem_value_t aaa; there will be an error: ... I think i should use the function like "snd_ctl_elem_info_set_id",
Yes.
but i just want to know why,i don't think it disobeys the C syntax.
These structures are only defined internally in alsa-lib and are not exported. It was made this way to make the library binary compatible with future versions where the layout of these structures may change.
HTH Clemens
participants (2)
-
Clemens Ladisch
-
郝舜