lib库和动态库在链接的时候,是把整个lib库链接过去,还是使用到的函数和资源?解决办法
lib库和动态库在链接的时候,是把整个lib库链接过去,还是使用到的函数和资源?
比如说我的lib库有10个函数,但是调用lib的 exe只有调用了其中的5个,另外5个是没有使用的,这样在编译的时候是链接多少个函数呢?
如果全部链接的话会使得exe大小增大,在运行的时候,也会占用进程代码段的空间吗?
求知晓,求讨论。
windows下和linux下是一样的吗?
------解决方案--------------------
lib只会link进用到的。dll是动态加载不会link,运行时使用
------解决方案--------------------
dll是通过导入地址表来的,相应的内存的瓶颈不应该在这个上面,建议找找别的原因。
------解决方案--------------------
项目不达到相当的规模其实真的不用考虑这些问题。
------解决方案--------------------
不是吧,现在的PC机内存足够你使用的,除非是嵌入式系统,WinPhone,Android之类的否则基本上正常的使用不会在乎DLL占用的那点内存。内存占用多的大部分程序运行时分配的多。
比如说我的lib库有10个函数,但是调用lib的 exe只有调用了其中的5个,另外5个是没有使用的,这样在编译的时候是链接多少个函数呢?
如果全部链接的话会使得exe大小增大,在运行的时候,也会占用进程代码段的空间吗?
求知晓,求讨论。
windows下和linux下是一样的吗?
------解决方案--------------------
lib只会link进用到的。dll是动态加载不会link,运行时使用
------解决方案--------------------
dll是通过导入地址表来的,相应的内存的瓶颈不应该在这个上面,建议找找别的原因。
------解决方案--------------------
项目不达到相当的规模其实真的不用考虑这些问题。
------解决方案--------------------
不是吧,现在的PC机内存足够你使用的,除非是嵌入式系统,WinPhone,Android之类的否则基本上正常的使用不会在乎DLL占用的那点内存。内存占用多的大部分程序运行时分配的多。