ich viele Beiträge zu diesem Thema gelesen habe, und ich kann Ihnen sagen, (jeden Beitrag habe ich gelesen habe diesen Satz von Annahmen macht, lässt es so kommen aus dem Weg früh):kann nicht timespec in einer anderen Struktur schließen
- ich habe enthalten time.h entsprechend
- I angegeben haben sowohl die POSIX-Konstanten und -std = gnu99
Code:
#if __STDC_VERSION__ >= 199901L
#define _XOPEN_SOURCE 600
#else
#define _XOPEN_SOURCE 500
#endif /* __STDC_VERSION__ */
#include <linux/soundcard.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define uint unsigned int
struct KEYDATA
{
struct timestruct duration;
} ;
// output/display function
int main(void)
{
struct KEYDATA keyData[20];
keyData.duration.tv_nsec = 999;
return 0;
}
Beim Kompilieren:
[email protected]:~/src/midi-timing $ gcc tmp.c -O2 -Wall -pedantic -o tmp -std=gnu99 -lrt
tmp.c:19:22: error: field ‘duration’ has incomplete type
struct timestruct duration;
^
tmp.c: In function ‘main’:
tmp.c:27:11: error: request for member ‘duration’ in something not a structure or union
keyData.duration.tv_nsec = 999;
^
tmp.c:25:19: warning: variable ‘keyData’ set but not used [-Wunused-but-set-variable]
struct KEYDATA keyData[20];
^
[email protected]:~/src/midi-timing $
Ich gebe zu, ich ein wenig rostig auf meiner C-Programmierung bin, aber es muss etwas hier sein, die ich bin nicht zu sehen. Wenn Sie den Fehler sehen, lassen Sie es mich wissen. Vielen Dank.
ersetzen Suchen Sie für 'struct timespec' (definiert in [ ''] (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ time.h.html); hat eine Nanosekundenauflösung und Member 'tv_nsec') oder' struct timeval' (definiert in [''] (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_time.h. html); hat Mikrosekundenauflösung und Mitglied 'tv_usec' und ist mehr oder weniger veraltet)? Ich nehme an, dass "struct timestruct" ein Tippfehler für "struct timespec" ist. –
Sie können feststellen, dass der Fragetitel "struct timespec" korrekt identifiziert; es geht einfach darum, diesen Gedanken nicht zum Code zu tragen. –