Accueil > Forum > > > > Passage de parametres a une fonction
Passage de parametres a une fonction
jeudi 17 juillet 2008 à 14:35:44 |
Passage de parametres a une fonction

AsM0DeUz
|
Bonjour, Je suis en train de lire le document "Programmation avancée sous Linux" dans lequel j'ai trouvé le code ci-dessous dans le chapitre relatis aux signaux : # include < signal.h > # include < string.h > # include < sys/types.h > # include < sys/wait.h > sig_atomic_t child_exit_status ;
void clean_up_child_process ( int signal_number ) { /* Nettoie le ou les processus fils . */ int status ; while ( waitpid ( -1 , & status , WNOHANG ) ) ; /* Stocke la statut de sortie du dernier dans une variable globale . child_exit_status = status ; }
int main () { /* Gère SIGCHLD en appelent clean_up_child_process. */ struct sigaction sigchld_action ; memset (& sigchld_action , 0 , sizeof ( sigchld_action ) ) ; sigchld_action.sa_handler = &clean_up_child_process; sigaction ( SIGCHLD , & sigchld_action , NULL ) ; /* Faire diverses choses , entre autres créer un processus fils . */ /* ... */ return 0; }
A quel endroit se fait le passage de paramètre à la fonction qui doit recevoir un int ?
Merci
|
|
jeudi 17 juillet 2008 à 15:55:10 |
Re : Passage de parametres a une fonction

rt15
|
Réponse acceptée !
Salut,
sigchld_action.sa_handler = &clean_up_child_process;
Ici, tu met en place l'adresse de clean_up_child_process dans une structure. Comme l'indique le champ de cette structure, ta fonction est un handler (On parle aussi de callback).
Tu passe ensuite cette structure en argument de sigaction (ici, l'aide de sigaction et les pages de man).
La fonction clean_up_child_process va en fait être appelée non pas par ton propre code, mais par Linux.
Linux s'attend à ce que l'adresse que tu lui donne corresponde à l'adresse d'une fonction qui attend un entier en paramètre, et va passer ce paramètre en argument, de manière à ce que tu le récupère. Si tu met un argument supplémentaire à cleanup, ou que tu enlève le int,le programme a de bonne chances de planter à cause d'un décalage de pile.
clean_up_child_process va être appelé par Linux quand il souhaitera t'informer de l'arrivé d'un message SIGCHLD (Autrement dit, à la fin d'exécution d'un processus fils).
Je suis pas sûre d'avoir été très clair...
|
|
vendredi 18 juillet 2008 à 09:02:21 |
Re : Passage de parametres a une fonction
|
Cette discussion est classée dans : action, include, status, child, sigchld
Répondre à ce message
Sujets en rapport avec ce message
c koi les fichiers h? [ par etmerde ]
je suis débutant(mais alors là, plus nul que ça tu trouves pas), et j'ai vu dans les codes c++ des trucs du genre include (machinchose.h) ou un truc d
Dev-C++ #include <gl\gl.h> [ par How To ]
#include #include #include ...je débute avec C++ et j'ai Dev-C++ 4.01 mais je n'ai pas les [g]library[/g] nécessaire pour un code source que j'ai tél
Include camarchepas.c [ par Budykiller ]
salut, je suis sous devC++ et je realise un programme de merde. il marchait jusqu'a ce que je le décompose en partie (niveau.c, chiffre.c et test.c) p
Descriptif des fichiers INCLUDE [ par manu ]
Bonjour, je cherche qqun qui puisse me lister la liste des fichier h d'include et a quoi ils servent ?Tel que :// Fichiers à inclure#include // pour
prob. compilateur c++ [ par error ]
salut a tous je debute dans la programmation en c++ j'ai po mal de livres mais dans mes livre il ya la fonction #include j'ai un prob mon compilateur
Tableau de correspondance des fonctions c++ et de leur fichier #include [ par guguy ]
BonjourJ'aimerais savoir s'il serait possible de trouver un tableau de correspondance entre les fonctions c++ et leur fichier #include (ex : cout -> i
fprintf de factorielles ! [ par Xs ]
voila, je comprend pas pourquoi le prog me met une erreur lors de l'execution alors que le compilateur et le linker n'ont rien vu d'anormal !#include
Dans le genre prenant........ [ par Xs ]
oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l
pour le generateur nfo ca marche mais pas la. [ par Xs ]
bonjours !je suis en train de me faire un logicielpour gerer ma collection de CDs mais voila : lepricipal probleme est que dans les titres, y'a bien a
C++ Standard ? [ par mmuller57 ]
Voila, je viens d'aller sur le site de Bjarne Stroustrup et j'y ai pris un exemple de code source en C++ standard :#include#includeusing namespace std
Livres en rapport
|
Derniers Blogs
MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg [MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|