Libapr .so文件没有源代码的功能

时间:2012-12-20 04:51:41

标签: c epoll shared-libraries apr

我编译了libAPR源并成功运行了Apache提供的所有测试。

但是,当我将程序链接到libapr.so时,不存在相同的功能。

例如, apr_pollset_add 原语不起作用。它总是返回1(当它应该返回0时)并且不起作用(在源测试中像魅力一样工作)。

我修改了与该原语相关的APRlib的所有代码,因此它只返回-1。当我运行Apache测试时,它们呈现预期的行为(返回-1),但是当我从.so libs调用原语时,它总是返回1.

我几乎可以肯定lib只有一个函数的包装器,它总是返回1。

有关正在发生的事情的任何线索?

1 个答案:

答案 0 :(得分:1)

所以最后我发现了问题。

我的系统中已经安装了libapr,因此每当我使用-libapr-1时,它都会将我的程序链接到以前安装的libapr版本。这就是它没有响应我的代码修改的原因。

关于 apr_pollset_add 原始版本,它运行良好。当apr调用 poll_ctl 时,系统会返回错误,因为我正在添加一个不被接受的常规文件描述符。