当前位置: 技术问答>linux和unix
可执行文件比静态链接库小正常吗?
来源: 互联网 发布时间:2016-08-23
本文导语: 自己写了个静态链接库,13.94KB;又写了个程序连接它,生成的目标可执行程序却只有13.5KB。这是为什么呢? (用C::B链接的) | 非常正常。 连接.a的时候,只是拷贝需要的.o的代码和数据到执行文...
自己写了个静态链接库,13.94KB;又写了个程序连接它,生成的目标可执行程序却只有13.5KB。这是为什么呢?
(用C::B链接的)
(用C::B链接的)
|
非常正常。
连接.a的时候,只是拷贝需要的.o的代码和数据到执行文件。
连接.a的时候,只是拷贝需要的.o的代码和数据到执行文件。
|
上面的说法可能让人误解。简单来说,如果.a的某个.o里的函数被调用或者变量被引用,就将整个.o拷贝到执行文件。
|
就因为静态链接是以.o为单位的,很多函数库的设计中可以看到一个现象,把每个函数都放在单独的.c文件中。
|
连进去了?
运行正常么?
运行正常么?
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。