社区
C语言
帖子详情
printf.o是动态链接的还是静态链接的
warcao
2012-03-08 09:22:38
写个helloworld程序
链接时连接目标文件和printf.o 到底是怎么连接的呢
...全文
352
5
打赏
收藏
printf.o是动态链接的还是静态链接的
写个helloworld程序 链接时连接目标文件和printf.o 到底是怎么连接的呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nossiac
2012-03-08
打赏
举报
回复
win和linux都是这样吗?
是。
能设置静态链接吗?
可以。
例如GCC下面一个printf的小程序。
gcc test.c
,默认动态链接。
gcc -static -lc test.c
,执行静态链接,编译出的程序会比较大。
Win下面像VC之类的IDE可能有专门设置,我没用过。
warcao
2012-03-08
打赏
举报
回复
[Quote=引用 3 楼 nossiac 的回复:]
printf在标准C运行库里,默认都是动态链接的。执行时由系统为你映射代码。
[/Quote]
win和linux都是这样吗?能设置静态链接吗
nossiac
2012-03-08
打赏
举报
回复
printf在标准C运行库里,默认都是动态链接的。执行时由系统为你映射代码。
delphiwcdj
2012-03-08
打赏
举报
回复
http://ishare.iask.sina.com.cn/f/8132294.html
merlinfang
2012-03-08
打赏
举报
回复
静态链接
嵌入式软件调试专题2:
printf
函数打印高阶技巧
分享使用
printf
打印的技巧:包括控制打印开关、打印等级控制、以及打印函数
printf
缓冲机制带来的打印延迟问题,让你在工作、学习、软件debug中提高工作效率!
静态
链接
库.a,OBJ文件.o,
动态
链接
库.so都是啥?(待补充)
转自https://www.cnblogs.com/king-lps/p/7757919.html 1.obj文件,.o 也就是用户自己写的用于连接的文件,是特殊的二进制文件。根据里面不只有程序指令,还有一些相关信息,告诉连接器如何根据多个.o文件及
链接
库文件.a及.so进行修改从而形成最后的可执行二进制文件。 2.
静态
链接
库文件,.a
静态
链接
库文件本质上为.o的打包,连接器会将其复制(...
静态
链接
库和
动态
链接
库的区别
目录 1、
链接
库概述 2、
静态
链接
库 2.1、编辑测试文件 2.2、将.c 编译生成 .o文件 2.3、由 .o 文件创建.a
静态
库 2.4、在程序中使用
静态
库 2.5、生成目标程序main,然后运行 3、动态库(隐式
链接
) 3.1、由 .o创建.so动态库 3.2、隐式方式使用动态库 3.3、动态库的初始化和解析 1、动态库的构造和析构函数机制 2、全局变量初始化 4.........
动态
链接
二:关于
动态
链接
与
静态
链接
关于
动态
链接
为什么要使用
动态
链接
呢?因为
静态
链接
对计算机的内存和磁盘的空间浪费非常严重,特别是多进程操作系统情况下,程序内部除了
printf
,scanf,strlen这样的公共库函数,还有其他的库函数和辅助数据结构。在linux系统中,一个普通c语言
静态
库至少会在1MB以上,如果机器中运行多个这样的程序,浪费的磁盘空间是非常大的。比如:程序program1和program2分别包含program1.o和progarm2.o,并且他们公用lib.o这个公共模块。在
静态
链接
的情况下,因为progarm1和pr
“.dll .obj .lib”和“ .so .o .a”文件与
动态
链接
和
静态
链接
“.dll .obj .lib”和“ .so .o .a”文件 (1) .dll .obj .lib使用在windows平台下。 .dll:
动态
链接
库,作为共享函数库的可执行文件。 .obj:目标文件,相当于源代码对应的二进制文件,未经重定位。 .lib:可理解为多个obj的集合,本质与.obj相同。 (2) .so .o .a使用在linux平台下。 .so:...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章