Est-ce que dlopen () définit errno?

Tout est vraiment dans le titre. La page de manuel ne dit rien. Certains Google signalent que certaines personnes vérifient errno après dlopen, mais peu et avec différents résultats La fonction renvoie une valeur de réussite / non de réussite, mais comment déterminer la cause de l’échec?

Alors dlopen() définit-il errno? où sont définies les différentes valeurs errno, alors? Si non, que faut-il utiliser pour vérifier la cause de la panne?

Non ( non souligné dans l’original).

En cas de succès, dlopen () retournera un handle de table de symboles. Si le fichier est introuvable, ne peut pas être ouvert en lecture, n’est pas du format de fichier object exécutable approprié pour être traité par dlopen () , ou si une erreur se produit pendant le processus de chargement du fichier ou de déplacement de ses références symboliques, dlopen () doit renvoyer un pointeur nul. Des informations de diagnostic plus détaillées doivent être disponibles via dlerror () .


Comme l’ont noté d’autres personnes, rien dlopen() (ou plus probablement les fonctions dlopen() par dlopen() ) de modifier errno . Mais une dlopen() conforme aux dlopen() ne signalera pas ses propres erreurs par errno . Vous devez appeler dlerror() .