我想发布一个我开发的应用程序,作为对
Linux和Windows的兴趣.此应用程序取决于boost(和可能的其他库).这种应用程序的规范(象棋引擎)是仅提供可执行文件和可能的一些帮助文件.
我很难,静态链接库是一个好主意,因此可执行文件不会有任何依赖关系.所以最终用户只需将可执行文件放在目录中并开始使用.
然而,在网上进行一些研究的同时,我发现了一些关于静态链接库的负面评论,有些甚至认为一个静态链接库的应用程序将很难移植,这意味着它只会运行在我的系统上.
那么静态连接图书馆的优缺点又是什么?
我已经知道可执行文件会更大.但是我看不出为什么会使我的应用程序不那么便携.
解决方法
优点:
没有依赖.
没有依赖.
缺点:
更高的内存使用率,因为操作系统无法再使用库的共享副本.
如果需要更新库,则需要重新构建应用程序.对于那些具有安全修复的库来说,这是重要的.
当然,可移植性更大的问题是缺乏源代码分发.