我使用dlopen
在我的程序中加载pthread库,并使用pthread_create
将处理程序提取到pthread_join
和dlsym
。
如何确保两个处理程序兼容?我不在乎这些符号是新版本还是旧版本。我只是希望我使用的pthread_create
与我得到的pthread_join
一起使用。
我知道有一个dlvsym
我可以传递显式版本号,但我不关心确切的版本号,因为我希望我的代码独立于库版本。
答案 0 :(得分:2)
版本控制存在的唯一原因是ABI与针对古代版本的glibc编译的程序的兼容性很差,无论如何它实际上都不会起作用。 (他们默默地打破了ABI至少一次,据我所知,这种方式无法兼容。)请忽略它。
答案 1 :(得分:0)
听起来你需要“dladdr - 找到包含给定地址的共享对象”。
但是,由于您尚未说明您正在使用的平台,因此可能无法使用。
看一看..