52 votes

Pourquoi getpid() retourne-t-il pid_t au lieu de int ?

Quelle est la logique derrière des appels comme getpid() renvoyant une valeur de type pid_t au lieu d'un unsigned int ? Ou int ? En quoi cela peut-il aider ?

Je suppose que cela a à voir avec la portabilité ? Garantir que pid_t est de la même taille sur différentes plates-formes qui peuvent avoir des tailles différentes d'éléments d'information. int etc.

0voto

0xcurb Points 106

Une chose à signaler, dans la plupart des réponses, j'ai vu quelque chose du genre "L'utilisation de pid_t permet au code de fonctionner sur différents systèmes" ce qui n'est pas nécessairement vrai.

Je pense que la formulation précise devrait être : cela permet de "compiler" le code sur différents systèmes. .

Comme, par exemple, la compilation du code sur un système qui utilise des pid_t 32 bits produira un binaire qui probablement se casse si elle est exécutée sur un autre système qui utilise des pid_t 64 bits.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X