静态库和动态库
Posted 愚人1984
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态库和动态库相关的知识,希望对你有一定的参考价值。
编译器将.c文件编译成.o文件。
动态库是用.o生成.so文件,一般命令为lib***.so ,编译时其不被link到目前代码中,程序运行时载入。
静态库实用.o生成.a 文件,命令为 lib***.a 编译时被link到目标代码中。
想起自己写过的驱动代码,将很大的芯片的driver,编程一个.a文件,再提供一个.h文件。这个.a一般都很大,好几M。 然后别的同事再拿着这个.a和.h来用,最后把.a文件全部包到新生成的.z文件中,形成一个更大的几M的板卡运行程序。
.a和.so都是在嵌入式领域,linux和QNX都是这这样命名的。
window编程中,动态库是.dll;静态库是.lib。
之前曾用过4年半的Vxworks,映像中只用到过.a,没用过.so;心生奇怪。刚才网上搜了一下,果不其然,vxworks在6.x之后的版本才支持的动态库。 呵呵,难不成为了支持这个,windriver才专门把tornado改成了workbench? 玩笑一下。。
写写博客,时时回头总结,真的是一个好东西。。。
以上是关于静态库和动态库的主要内容,如果未能解决你的问题,请参考以下文章