标题已经说明了一切。手册中没有提到任何信息。有些人在dlopen之后检查errno,但只有几个人并且结果不同。该函数确实返回一个成功/失败的值,但是应该如何确定失败的原因呢?
那么,dlopen()
会设置errno吗?不同的errno值在哪里定义呢?
如果不是,应该使用什么来检查导致失败的原因?
dlopen
不会设置(分配有意义的值)给errno
,但它允许使用除零以外的任何值来clobber errno
(就像所有未明确禁止这样做的其他函数一样)。 - R.. GitHub STOP HELPING ICE
errno
与影响errno
是不同的。调用dlopen()
可能会改变errno
的值。例如,当dlopen()
尝试定位库时,open()
调用可能会失败。 - Andrew Henledlopen
的手册页。 - KevinDTimm