J'ai un étrange problème de construction.Impossible de créer un exemple sigqueue avec gcc mais g ++ est ok?
J'ai un programme de test simple qui envoie une sigqueue à un autre processus.
Cet exemple peu de code construit et fonctionne quand je le construire comme un programme C++ (compilé avec g ++) mais quand je compile comme programme alternatif (avec gcc) je reçois une erreur qu'il ne trouve pas le struct Sigval .
L'exemple court:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>
int main(int argc, char *argv[])
{
sigval value;
value.sival_int = 123;
sigqueue(0,SIGUSR1, value);
}
S'il vous plaît noter que j'ai remplacé le pid avec 0 pour simplifier cette question.
Et si je compilez avec gcc je reçois ceci:
$> gcc sigusr1_mini.c
sigusr1_mini.c: In function ‘main’:
sigusr1_mini.c:9: error: ‘sigval’ undeclared (first use in this function)
sigusr1_mini.c:9: error: (Each undeclared identifier is reported only once
sigusr1_mini.c:9: error: for each function it appears in.)
sigusr1_mini.c:9: error: expected ‘;’ before ‘value’
sigusr1_mini.c:10: error: ‘value’ undeclared (first use in this function)
Qu'est-ce que je manque ici, pourquoi ne peut-il trouver le struct Sigval? Et pourquoi g ++ le trouve-t-il?
Merci Johan
N'hésitez pas à ajouter un commentaire sur pourquoi cette question a été downvoted ... – Johan
J'ai trouvé ceci utile. Semblait comme il méritait une upvote à moi. – Jake88