我的程序是作为加载器和许多模块构建的,它们是共享库。现在其中一个库使用pthreads,它似乎动态绑定到模块(在启动时加载)。现在,如果我可以强制将pthreads链接到模块文件中,那就更简单了。关于linux的GCC,我该怎么办?我想libpthread.a是必要的....
答案 0 :(得分:18)
虽然理论上可以将libpthread.a
链接到共享库,但这是非常糟糕的主意。原因是libpthread
是glibc
的一部分,glibc
的所有部分必须完全匹配,或者您会看到奇怪且无法解释的崩溃。
所以将libpthread.a
链接到您的共享库中:
glibc
glibc
升级后,您的现有程序崩溃,但您的模块未与更新的libpthread.a
重新关联。免于恶化,不要那样做。