¿Dlopen () establece errno?

Todo está en el título realmente. La página del manual no dice nada. Algunos informes de Google algunas personas verifican errno después de dlopen, pero solo unos pocos y con varios resultados. La función devuelve un valor de éxito / no éxito, pero ¿cómo se debe averiguar la causa de la falla?

Entonces, ¿ dlopen() establece errno? ¿Dónde están definidos los diferentes valores errno, entonces? Si no, ¿qué se debe usar para verificar qué causó la falla?

No (énfasis añadido).

Al completarse con éxito, dlopen () devolverá un manejador de tabla de símbolos. Si no se puede encontrar el archivo , no se puede abrir para leer, no tiene un formato de archivo de objeto ejecutable adecuado para ser procesado por dlopen () , o si se produce un error durante el proceso de carga de archivo o reubicación de sus referencias simbólicas, dlopen () devolverá un puntero nulo Más información de diagnóstico detallada estará disponible a través de dlerror () .


Como han señalado otros, nada prohíbe que dlopen() (o, más probablemente, las funciones a las que dlopen() llama) la modificación de errno . Pero un dlopen() que dlopen() estándares no informará sus propios errores a través de errno . Necesitas llamar a dlerror() .