linux gcc链接,重复符号?

时间:2016-07-23 19:53:26

标签: linux gcc static-linking

我对linux有些新意。最近我一直在做一堆c linux开发。我只是在调试分段错误。不幸的是我没有使用gcc调试器,因为我觉得我很幸运,我遇到的大部分错误都很容易在没有调试器的情况下解决。最近的一次更难。我遇到了分段错误。我放入的所有printf都告诉我,我正在使用的卷曲功能出错。

此时似乎我需要使用调试器。为了达到目的,事实证明curl正在调用我的send()函数。当然我的send()函数并不期望被curl调用,因此我可以看出为什么我会遇到分段错误。所以我的问题是,为什么当我与curl链接时,调用我的send()函数而不是调用curl send()函数的curl代码?我猜测curl库有一个send()函数,由于某种原因,我正在使用send()函数。我并不熟悉链接器的工作方式,但我认为它需要解析所有被调用的方法。因此,当curl库被链接时,它应该必须解决所有被调用的方法。对send()的调用应该已经解析为curl代码中的send()方法。我能够通过将send()函数更改为my_send()来解决问题。

我使用gcc编译我的c源文件。这是一个错误吗?如果没有,有没有办法知道找到的重复符号,以便我知道我的某些函数名称何时与我链接的库发生冲突?

谢谢, 尼克

0 个答案:

没有答案