我明白为什么我会要求.lib / .a文件,如果我选择静态链接这些库(relevant SO question here).但是,为了在链接可执行文件时,如果我正在动态地链接这些外部库,为什么需要提供相应的.lib / .so库文件?
请注意,此编译/链接模型在这一点上已经接近40岁,并且在大多数平台之前动态链接.如果今天被设计,动态链接将是一流的公民(例如,在.NET中,每个程序集都有丰富的元数据描述它的出口,因此您不需要单独的头文件和库).