.a结尾的文件是什么文件?与.lib结尾的文件的区别是什么?

.a结尾的文件是什么文件?与.lib结尾的文件的区别是什么?,第1张

.a is an archive of code: compiled but not linked. You would link statically with it during your program's final link step.

(.a 是编译了但尚未链接的 obj 文件的 集合体。静态链接可用它。)

.lib can be either the same as .a, or a magical so-called "import library": a thin placeholder which causes you to require a .dll at runtime.

(.lib 可以就是 .a, 也可以是 所谓的 输入库,当使用 动态链接时,要用它, 动态链接得到的exe程序,运行时 还要用到 .dll ) .

在linux/unix, .a文件是静态链接库文件,即其只进行过编译未进行链接的

在windows,.lib文件有动态也有静态之分,静态的话与第1点描述类同,动态的话即相当于一个头文件,具体实现部分是在DLL文件中

hex文件如你的理解,是烧录进单片机中MCU的ROM或RAM中的

.lib文件的生成也如你概念的理解,就是要防止他人了解核心代码的实现,是不可以被修改的,或是强行修改后无法达到应有的功能,只可参考其头文件中各个函数被动的使用

.lib只能被使用,其甚至可以没有main函数,或许你可以写一个main函数引用.lib中相关函数使用Keil重新生成hex


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12059407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存