(.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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)