fee*_*ree 2 c++ dll shared-libraries
我有一个与C++静态库和动态库相关的问题.假设您现在正在开发一个程序,并且可以在C++库中找到一个功能.那么你有两个选择:一个是编写一些代码(假设不是太多)并重新实现该功能; 另一种是从C++库调用该函数.但是,您要使用的C++库是一个非常大的库,而您只使用库的一小部分.在这种情况下,什么是更好的选择?谢谢!
静态库链接只会将您的可执行文件与您有效使用的符号链接起来.假设你在lib中有200个函数并且只使用4个函数(包括lib的内部调用),那么只有你使用的4个符号将在可执行文件中链接.因此,与2Mb lib链接可能会导致您的可执行文件只添加20k.
Windows下的动态库应该是符号完整的,即,DLL只包含200个符号,而它只需要4.但它不会对您的可执行文件大小产生很大影响(因为用于链接DLL的lib只是一个符号转发器),它可能会影响加载时间和内存占用.
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |