符号版本和dlsym

我使用dlopen在我的程序中加载pthread库,并使用dlsym处理程序提取到pthread_createpthread_join

如何确保两个处理程序都是兼容版本? 我不在乎这些符号是新版本还是旧版本。 我只是希望无论使用什么pthread_create我都能使用pthread_join

我知道有一个dlvsym ,我可以传递显式版本号,但我不关心确切的版本号,因为我希望我的代码独立于库版本。

版本控制存在的唯一原因是ABI与针对古代版glibc编译的程序的兼容性很差,无论如何这些程序实际上都无法工作。 (他们默默地打破了ABI至少一次,据我所知,这种方式无法兼容。)请忽略它。

听起来你需要“dladdr – 找到包含给定地址的共享对象”。

但是,由于您尚未说明您正在使用的平台,因此可能无法使用。

看看,看看..