调用 dlclose(NULL) 安全吗?

2023-11-24

当我经过某个地方时,我经历了一次车祸null指向dlclose.

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

POSIX 对此没有任何说明:http://pubs.opengroup.org/onlinepubs/7908799/xsh/dlclose.html

这是未定义的行为还是错误dlclose执行?


这很棘手。 POSIX 指出

if handle不引用一个开放的对象,dlclose()返回一个非零值

由此您可以推断,对于任意指针,它应该检测该指针是否引用一个打开的对象。 Linux/Glibc 版本显然没有这样的检查,所以你需要检查NULL你自己。

[此外,Linux 联机帮助页也不是很有帮助。这是相当含蓄的libdl函数的行为,遵循 POSIX,但没有非常明确地声明一致性。]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用 dlclose(NULL) 安全吗? 的相关文章

  • ubuntu 的 CSS 更少(并且自动编译)? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我尝试过 simples 但现在 l
  • iOS 静态与动态框架说明

    我不得不承认 随着 iOS 8 的发布 我对 iOS 中的动态框架和静态框架有点困惑 我正在寻找一种方法来分发我创建的库 并且我需要支持 iOS 7 及更高版本 注意 这将是一个专有框架 我不能使用 cocoa pods 也不能分发源代码
  • 为什么docker容器提示“权限被拒绝”?

    我使用以下命令来运行 docker 容器 并从主机映射目录 root database 到容器 tmp install database docker run it name oracle install v root database t
  • SMP 上如何处理中断?

    SMP 对称多处理器 多核 机器上如何处理中断 内存管理单元是只有一个还是多个 假设两个线程 A 和 B 运行在不同的内核上 同时 访问页表中不存在的内存页面 在这种情况下 将会出现页面错误 并从内存中引入新页面 将会发生的事件的顺序是什么
  • 如何将 elf 解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

    如果我的问题不准确 我深表歉意 因为我没有太多 Linux 相关经验 我目前正在构建一个 Linux 从头开始 主要遵循 linuxfromscratch org 版本的指南 7 3 我遇到了以下问题 当我构建可执行文件时 获取一个称为 E
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • Visual Studio - X11:缺少 DISPLAY 环境变量

    我正在使用 Visual Studio 2019 Enterprise 开发跨平台 Windows Linux x64 GUI 应用程序 在这个 2019 版本中 我们可以使用 Visual Studio调试平台 Windows 本机 和
  • pthread_self() 返回的线程 ID 与调用 gettid(2) 返回的内核线程 ID 不同

    这句话来自于pthread self 的手册页 http linux die net man 3 pthread self 那么 我应该根据什么来决定是否应该使用pthread self or gettid确定哪个线程正在运行该函数 两者都
  • 如何在linux中使用iptables将http和https流量转发到透明代理[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 套接字发送调用被阻塞很长时间

    我每 10 秒在套接字上发送 2 个字节的应用程序数据 阻塞 但发送调用在下面的最后一个实例中被阻塞超过 40 秒 2012 06 13 12 02 46 653417 信息 发送前 2012 06 13 12 02 46 653457 信
  • php_network_getaddresses: getaddrinfo 失败: 名称或服务未知 (0) 连接失败..!

    我正在使用 php 邮件程序功能 但出现以下错误 如何修复它 2016 01 22 06 15 48 SMTP 错误 无法连接到服务器 php network getaddresses getaddrinfo失败 名称或服务未知 0 连接失
  • 用于获取特定用户 ID 和进程数的 Bash 脚本

    我需要 bash 脚本来计算特定用户或所有用户的进程 我们可以输入 0 1 或更多参数 例如 myScript sh root deamon 应该像这样执行 root 92 deamon 8 2 users has total proces
  • 在嵌入式系统上将内核控制台发送到哪里?

    我正在开发一个嵌入式系统 该系统当前通过串行端口 1 上的控制台输出启动 Linux 使用启动加载程序中的控制台启动参数 然而 最终我们将使用这个串行端口 内核控制台输出的最佳解决方案是什么 dev null 能否以某种方式将其放在 pty
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • 如何从程序内部获取指向程序的特定可执行文件部分的指针? (也许是诽谤)

    我在 Linux 环境中 需要编写一个程序来检索放置在其可执行文件的某个部分中的一些数据 那么 如何从程序内部获取指向程序某个部分 通过其名称 的指针呢 我知道可以使用elf getdata 将节的索引作为参数传递给 get 和Elf Da
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期
  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • BeagleBone Black 如何用作大容量存储设备?

    是否可以使用 BB 作为大容量存储设备 我希望将其连接到可以从 USB 连接 例如 USB 闪存驱动器 读取文件的音频播放器并充当包含一个特定文件夹的数据存储设备 及其子文件夹 从文件系统 如果可能 在连接到开发板的闪存驱动器上 正如设备规
  • 点击界面没有出现

    我决定添加一个点击界面并在我的代码中使用它 但我能够得到它的状态 sudo ip f link tuntap add tap10 mode tap sudo ip link set tap10 up 之后当我执行 ip link 时 tap

随机推荐

  • 串行数据的二进制通信协议解析器设计

    我正在重新审视字节流 串行数据 一次接收 1 个字节 的通信协议解析器设计 数据包结构 无法更改 为 Start Delimiter 1 byte Message ID 1 byte Length 1 byte Payload n byte
  • 在 Mac OS X 上测试 IE6

    我希望能够在 Mac OS X 上全面测试我的网页的兼容性 我已经安装了 Parallels Desktop 它工作正常 但它使用大量资源 所以我希望能够测试 OS X 内的所有内容 事实上 我正在寻找适用于 Mac 的 Explorer
  • 有条件地在 Android 清单文件中包含元数据

    有没有办法有条件地包含meta dataAndroid 清单文件中的元素基于 Gradle 中设置的值 我能够执行以下操作 使用resValue to set
  • 如何将变量从 Python 传递到 VBA Sub

    我试图从我的 Python 代码调用 VBA 子程序 将指定文件夹中的所有 excel 文件从 xls 转换为 xlsm 格式 当我不在 VBA 中使用变量时 我可以使用以下代码 并且效果很好 Python代码 import os impo
  • OSX 上的 Mono:找不到 gtksharpglue-2.dll

    我正在尝试在 C 中完成我的第一步 并希望构建一个空的 GTK 窗口作为我的第一个任务 通过macports我安装了以下软件包 电子邮件受保护 电子邮件受保护 电子邮件受保护 我还使用 Mono 主页上的 MonoDevelop I add
  • “CSS 256 类覆盖一个 ID”背后的规则是什么?

    我最近也遇到过这种情况 但找不到 为什么 谁能解释一下吗 请参阅下面的示例 http codepen io chriscoyier pen lzjqh 发生这种情况是由于浏览器限制 而不是规范或浏览器实现方式中的错误 The spec sa
  • 单击标签时 jQuery Click 会触发两次

    我正在使用 jQuery 创建自定义单选按钮 但遇到了问题 当单击与无线电关联的标签时 单击事件会触发两次 如果我仅单击无线电本身 它工作正常 实际上 我单击的不是无线电 而是包装整个输入和标签的 div 这是代码 HTML div div
  • 如何在vtk中以不同的颜色显示点云?

    我有一个点云 我想在 vtk 中可视化 我想根据某些条件看到它们具有不同的颜色 我正在使用Python 关于如何做到这一点有什么建议吗 多谢 下面是一个根据 z 轴值设置点颜色的示例 import vtk from numpy import
  • 测试与非测试中的 Swift 和 CoreData Casting 问题

    我在 Xcode 6 上使用 SwiftCoreData 我已阅读发行说明并看到了这个issue关于确保使用模块名称 应用程序名称 标记核心数据模型 以便您可以投射NSManagedObject运行时的模型类型 当我这样做时 我可以让应用程
  • 在 Python 中使用 FlexMock 模拟函数?

    我知道如何使用 flexmock 在 Python 中模拟方法 例如 flexmock subprocess should receive call replace with my func 一个模拟如何在对象之外发挥作用 或者例如glob
  • 将 C++ 成员函数指针传递给 STL 算法

    我有一个成员函数如下 class XYZ public float function float x private float m DensityMin float m DensityMax 现在 我正在努力改变一个std vector
  • Linux Open Suse“pyodbc.Error: ('01000',“[01000] [unixODBC][驱动程序管理器]无法打开 lib 'SQL Server': 文件未找到 (0) (SQLDriverConnect)")"

    我知道以前有人问过这个问题 但我从未真正得到可以解决我的问题的正确答案 我正在尝试从 Linux Open Suse12 4 计算机连接到 Windows 计算机上的 SQL 服务器 pyodbc connect DRIVER SQL Se
  • 如何在 mongoDB 中编写联合查询

    是否可以使用类似于 SQL 查询的 2 个或更多集合在 Mongo DB 中编写联合查询 我正在使用 spring mongo 模板 在我的用例中 我需要根据某些条件从 3 4 个集合中获取数据 我们可以通过一次操作实现这一目标吗 例如 我
  • IIS8.5自动更改物理路径属性

    我在 IIS8 5 中的默认网站下添加了几个应用程序 仅端口 80 IP 上的 http 它们指向不同的物理路径 不是嵌套的 并且在添加此类应用程序后效果很好 但过了一会儿 其中一个应用程序的物理路径会自动更改为另一个应用程序的物理路径 为
  • 在 Javascript 闭包中访问“this”

    这更像是一次健全性检查 我发现在 Javascript 中使用闭包时 我经常使用以下模式从函数内访问封闭类 MyClass prototype delayed foo function var self this setTimeout fu
  • Grep 并打印返回引用

    我有这个 iptable 日志 Feb 25 10 32 48 XXX 414645 555838 FW DEN TCP IN eth0 OUT MAC XYZ SRC 1 1 1 1 DST 2 2 2 2 LEN 40 TOS 0x00
  • 如何求椭圆的半轴长度?在R中

    我有这组 x 和 y 坐标 x lt c 1 798805 2 402390 2 000000 3 000000 1 000000 y lt c 0 3130147 0 4739707 0 2000000 0 8000000 0 10000
  • WCF 中出现带有“无法识别序列”消息的 CommunicationException

    我在使用 WCF 服务时收到 CommunicationException 消息是 远程端点不再识别该序列 这很可能是由于远程端点上的中止造成的 wsrm Identifier 的值不是已知的序列标识符 可靠会话出现故障 调用合约方法后不久
  • 包括换行符在内的任何字符 - Java Regex

    我想这可能是 n 但这似乎不起作用 点不能在字符类内部使用 查看选项图案 DOTALL Pattern DOTALL启用 dotall 模式 在 dotall 模式下 表达式 匹配任何字符 包括行终止符 默认情况下 此表达式不匹配行终止符
  • 调用 dlclose(NULL) 安全吗?

    当我经过某个地方时 我经历了一次车祸null指向dlclose 我应该在调用之前检查 null 吗dlclose POSIX 对此没有任何说明 http pubs opengroup org onlinepubs 7908799 xsh d