ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

为什么引入库头文件就可以使用库函数而不需要与库函数c文件一起链接

2022-01-19 21:59:10  阅读:191  来源: 互联网

标签:头文件 103575896 E5% blog libc E4% 链接 库函数


https://blog.csdn.net/qq_43684922/article/details/103575896?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BC%95%E5%85%A5%E5%BA%93%E5%A4%B4%E6%96%87%E4%BB%B6&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-103575896.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

那么为什么你可以直接去使用一个你没有声明也没有定义的函数呢?
回答: 因为这个函数在我们lib动态库中,动态库中有这个内容,而且系统动态库已经被载入内存了

ldd a.out
在这里插入图片描述
可以看到我们a.out依赖了三个库,所以其实printf的实现是在库里,我们运行的时候再加载的,这三个库是libc库,里面有常见库函数的实现。

使用nm指令验证是否在库里: nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep printf
在这里插入图片描述

标签:头文件,103575896,E5%,blog,libc,E4%,链接,库函数
来源: https://blog.csdn.net/dianqicyuyan/article/details/122590248

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有