在Linux中.根据dlsym(3)Linux手册页,
*Since the value of the symbol Could actually be NULL
(so that a NULL return from dlsym() need not indicate an error),*
为什么这个,符号(特别是一个函数)何时才能实际为NULL?我正在审查代码,并发现一个使用dlerror首先清理,dlsym接下来,dlerror检查错误.但它在调用之前不检查结果函数是否为null:
> dlerror();
> a_func_name = … dlsym(…);
> if(dlerror())goto end;
> a_func_name(…); //从未检查过a_func_name == NULL;
我只是一个评论者,所以没有选择只添加支票.也许作者知道NULL永远不会被返回.我的工作是挑战,但不知道是什么可以使这返回一个有效的NULL,所以我可以检查在这个代码的上下文中是否可以满足这样的条件.没有找到正确的东西与谷歌阅读,指向良好的文档是足够的,除非你想明确解释哪个会很棒.
最佳答案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。