Oracle Solaris Studio 12.2:C++ 用户指南

15.8 使用 dlopen 从 C 程序访问 C++ 库

如果要使用 dlopen() 从 C 程序打开 C++ 共享库,应确保共享库依赖于适当的 C++ 运行时(对于 -compat=4,为 libC.so.5;对于 -compat=5,为 libCrun.so.1)。

为此,应在生成共享库时,将 -lC(对于 -compat=4)或 lCrun(对于 -compat=5)添加到命令行。例如:


example% CC -G -compat=4... -lC
example% CC -G -compat=5... -lCrun

如果共享库使用了异常且不具有对 C++ 运行库的依赖性,则 C 程序可能会出现无规律的行为。