我想了解以下场景到底发生了什么。我有一个共享库(A),它通过动态加载加载另一个共享库(B)。库 A 也公开了一些方法(F1)。
主程序加载库 A,然后库 A 稍后加载库 B。现在,当库 B 尝试使用库 A 中的函数 F1 时,它无法加载其符号,并且编译会静默停止执行,而不会给出任何警告/错误或核心。即使我可以看到从库 A 中导出的这些符号(使用 nm 命令)。我不太确定到底发生了什么。我在 Linux.64 上观察到了这一点。Windows 上的相同场景工作。
我想了解以下场景到底发生了什么。我有一个共享库(A),它通过动态加载加载另一个共享库(B)。库 A 也公开了一些方法(F1)。
主程序加载库 A,然后库 A 稍后加载库 B。现在,当库 B 尝试使用库 A 中的函数 F1 时,它无法加载其符号,并且编译会静默停止执行,而不会给出任何警告/错误或核心。即使我可以看到从库 A 中导出的这些符号(使用 nm 命令)。我不太确定到底发生了什么。我在 Linux.64 上观察到了这一点。Windows 上的相同场景工作。