是否可以静态链接动态链接库?
我们知道静态链接是在链接的时候把相关代码从a文件或者o文件拷贝到相应的二进制文件里面。而动态链接只是通过lib文件(Win下)将动态链接库里面的函数地址拷进二进制文件,而函数是不拷贝的。运行时则载入动态链接库,通过地址调用动态链接库里面的函数。而我可不可以用lib和动态链接库实现静态链接呢?从lib里面读取函数地址,然后把相关代码从动态链接库拷到二进制文件,原理上应该是可以的啊。Linux底下更简单了,直接一个so文件搞定,lib都没有。so和a文件有什么区别呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Linux 下应该不能将 .so 静态链接到可执行程序中,具体原因可以参考以下链接的解释:
链接描述