静态链接库、动态链接库以及依赖项的疑义

静态链接库、动态链接库以及依赖项的疑问
最近用到了制作链接库的知识,虽然看了好多帖子,可是还有一些疑问,希望大家帮帮我。

-static的疑问:
这个选项是不是只能用在链接过程中,在预处理或、编译、汇编过程中没有作用?

静态链接库的疑问:
按照一些书中的定义,静态链接库是一些目标文件经过打包后的集合,假如我想要制作一个静态链接库,它满足以下条件:
    1.它依赖一些特定的包
    2.在别的机器上上调用它的时候不需要安装之前的依赖包
因为没有涉及到链接过程,-static选项应该是不能用,那么请问如何制作?

动态链接库的疑问:
制作动态链接库要用到-shared选项,那么如何制作打包了所有依赖项的动态链接库,在其他机器上调用时不用安装依赖项。

被这些概念搞得头都大了,只有80分,谢谢大家了,很着急的,我的qq1520138768,在线请教是最好的了

------解决方案--------------------
1)他不依赖任何包。
2)同一版本的编译器可用。

所谓打包,是指把不同的.obj 之类的文件,集成到一起。

------解决方案--------------------
1. 对
2.  静态库liba.a依赖动态库libb.so 程序programC连接了liba.a,这样运行programC时将要动态加载libb.so,如果要做到不需动态加载libb.so,则要编译出libb.a静态库用于连接liba.a
3.  打包所有依赖lib,没有捷径。
------解决方案--------------------
《程序员的自我修养——链接、装载与库》
《Windows PE权威指南》
------解决方案--------------------
是的
静态库如果有依赖的话,那就只有打包所有的库文件了!没有捷径的!

------解决方案--------------------
引用:
Quote: 引用:

是的
静态库如果有依赖的话,那就只有打包所有的库文件了!没有捷径的!


“静态链接库依赖于动态链接库,程序调用静态链接库的话必须得提供动态链接库”这样理解对吧?

是的!