是否可以静态链接动态链接库?

新手上路,请多包涵

我们知道静态链接是在链接的时候把相关代码从a文件或者o文件拷贝到相应的二进制文件里面。而动态链接只是通过lib文件(Win下)将动态链接库里面的函数地址拷进二进制文件,而函数是不拷贝的。运行时则载入动态链接库,通过地址调用动态链接库里面的函数。而我可不可以用lib和动态链接库实现静态链接呢?从lib里面读取函数地址,然后把相关代码从动态链接库拷到二进制文件,原理上应该是可以的啊。Linux底下更简单了,直接一个so文件搞定,lib都没有。so和a文件有什么区别呢?

阅读 5.3k
1 个回答

在 Linux 下应该不能将 .so 静态链接到可执行程序中,具体原因可以参考以下链接的解释:
链接描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进