打印

Keil uVision4中的库是怎么链接进代码的?动态 or 静态?

[复制链接]
5799|7
手机看帖
扫描二维码
随时随地手机跟帖
沙发
shell.albert| | 2012-7-9 21:27 | 只看该作者
什么库?哪一个库?
你使用了它的哪一个库?

不过,有一点可以肯定的说,如果你编译成release版本,下载到单片机中运行程序,那肯定就是静态连接。

使用特权

评论回复
板凳
liuyi_19810909|  楼主 | 2012-7-10 13:08 | 只看该作者
多谢,主要用的库:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <assert.h>

使用特权

评论回复
地板
zyingjie| | 2012-7-10 15:27 | 只看该作者
lz明白动态链接和静态链接的区别吗?

使用特权

评论回复
5
liuyi_19810909|  楼主 | 2012-7-10 16:55 | 只看该作者
我理解的动态链接就是使用到哪个函数就链接哪个函数;静态链接就是不管用不用得到,.c包含的函数全部链接进目标.o文件

使用特权

评论回复
6
john_lee| | 2012-7-10 17:13 | 只看该作者
5# liuyi_19810909
先 google 一下,还是有好处的,避免拍砖。

使用特权

评论回复
7
liuyi_19810909|  楼主 | 2012-7-10 17:15 | 只看该作者
我理解错了,动态链接是不是必须需要一个系统来支持啊

使用特权

评论回复
8
shell.albert| | 2012-7-10 22:19 | 只看该作者
你所列举的只是头文件而已。具体可能包括多个库。
如数学函数math.h可能在libmath中实现,stdio.h可能在libio库中实现(假定)
静态编译,就是将这些库函数与你的程序打包在一起。
动态编译,就是只将你的程序打包,里面留有动态调用程序的接口,需要的时候,解释器会动态调用那个库的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

14

帖子

0

粉丝