我将null指针传递给dlclose时遇到崩溃。

我应该在调用dlclose之前检查null吗?

POSIX对此一无所知:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/dlclose.html

它是未定义的行为还是dlclose实现中的错误?

最佳答案

这很棘手。 POSIX指出



从中可以推断出它应该针对任意指针检测该指针是否指向打开的对象。 Linux/Glibc版本显然没有进行这种检查,因此您需要自己检查NULL

[此外,Linux联机帮助页也不是很有帮助。对于libdl函数的行为,它是非常隐含的,在没有非常清楚地声明符合性的情况下,遵照POSIX进行。

10-08 08:57