我遇到的情况是,我最近在共享库中添加了一堆pcap
功能,我已编写这些功能来执行一些数据包嗅探/注入。
我安装了pcap的东西,即
sudo apt-get install libpcap-dev
编写了所有代码,然后尝试用我的makefile构建它
所有编译和链接都没有问题
但是当我仔细观察时,我注意到我没有将-lpcap
指定为库依赖
但链接器并没有抱怨任何未定义的引用。
所以问题是链接器如何找到我在库代码中调用的pcap
函数?
我知道如果你使用socket.h函数,它们包含在标准C运行时库中,因此你不需要显式指定库依赖项。 pcap
是否相同?
有没有办法查询链接器找到其功能的位置,即在此实例中它找到pcap
函数的位置?我想了解最新情况,而不仅仅是感到高兴它的工作......
为了澄清,你能找到链接器在链接到我的代码引用的函数时使用的特定库文件(.so或.a)吗?
可能是一个详细的选项,可以准确查看链接器正在做什么?