我与另一位开发人员发生了争执,我想在这里解决动态链接与静态链接的问题。
理论上:
假设你有一个包含 100 个函数的库,每个函数里面都有大量代码:
int A()
int B()
int C()
..
..and so on...
而且您的应用程序只调用或依赖于其中之一。
您可以使用两种方法。
- 将库构建为动态链接库
- 将库构建为静态链接库
我的同事声称将静态库链接到我们的应用程序,编译器/链接器不会将 99 个未使用函数的代码添加到我们的可执行文件中。我声称它会的。我声称在这种情况下唯一的优点是拥有一个可执行文件并且不必与我们的应用程序一起分发库,但如果我们使用动态链接库方法,它不会有显着的大小差异。
谁是正确的?