我将null
指针传递给dlclose
时遇到崩溃。
我应该在调用dlclose
之前检查null吗?
POSIX对此一无所知:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/dlclose.html
它是未定义的行为还是dlclose
实现中的错误?
最佳答案
这很棘手。 POSIX指出
从中可以推断出它应该针对任意指针检测该指针是否指向打开的对象。 Linux/Glibc版本显然没有进行这种检查,因此您需要自己检查NULL
。
[此外,Linux联机帮助页也不是很有帮助。对于libdl
函数的行为,它是非常隐含的,在没有非常清楚地声明符合性的情况下,遵照POSIX进行。