博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态库和动态库
阅读量:6036 次
发布时间:2019-06-20

本文共 514 字,大约阅读时间需要 1 分钟。

编译器将.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? 玩笑一下。。

 

写写博客,时时回头总结,真的是一个好东西。。。

 

转载于:https://www.cnblogs.com/stay-foolish1984/p/5526522.html

你可能感兴趣的文章
git简单命令
查看>>
LAMP编译部署
查看>>
XenDesktop7.6安装部署入门教程
查看>>
HashMap的工作原理及HashMap和Hashtable的区别
查看>>
GregorianCalendar日历程序
查看>>
Sublime 中运行 Shell 、Python、Lua、Groovy...等各种脚本
查看>>
【Java集合源码剖析】ArrayList源码剖析
查看>>
linux基础概念和个人笔记总结(6)
查看>>
RHEL 6 简易搭建samba服务 RHCE
查看>>
一图胜千言 -- SQL Server 基准测试
查看>>
微小说精选
查看>>
我的友情链接
查看>>
主板典型故障解决方法
查看>>
Hadoop集群搭建步骤
查看>>
更改ubuntu的系统语言
查看>>
jvm参数详解,内存泄露解决
查看>>
升级Windows Management Framework对事件转发的影响
查看>>
我的友情链接
查看>>
mysql报错问题解决Character set 'utf8mb4' is not a compil
查看>>
在CentOS6.8下安装Docker
查看>>