- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章 编系统和运行系统
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例 题 5 cc是UNIX系统上C语言编译命令, ?l是连接 库函数的选择项。某程序员自己编写了两个函 数库libuser1.a和libuser2.a(库名必须以lib为前 缀),当用命令 cc test.c ?luser1.a ?luser2.a 编译时,报告有未定义的符号,而改用命令 cc test.c ?luser2.a ?luser1.a 时,能得到可执行程序。试分析原因 (备注:库名中的lib在命令中省略。该命令和命令cc test.c libuser1.a libuser2.a的效果一致) 例 题 5 cc test.c ?luser1.a ?luser2.a 解答 test.c libuser1.a libuser2.a 引用a 定义b 定义a 引用b 例 题 6 cc是UNIX系统上C语言编译命令,?l是连接 库函数的选择项。两个程序员分别编写了函数 库libuser1.a和libuser2.a,当用命令 cc test.c ?luser1.a ?luser2.a 编译时,报告有重复定义的符号。而改用命令 cc test.c ?luser2.a ?luser1.a 时,能得到可执行程序。试分析原因 例 题 6 cc test.c ?luser1.a ?luser2.a 一种情况 test.c libuser1.a libuser2.a 引用a 定义a 定义b 引用b 定义a 若干人一起开发软件时 有可能发生 a的使用局部于文件,应加static而未加 例 题 7 两个C文件link1.c和link2.c的内容分别如下 int buf[1] ={100}; 和 extern int ?buf; main() { printf(“%d\n”, ?buf); } 在X86/Linux经命令cc link1.c link2.c编译后, 运行时产生如下的出错信息 Segmentation fault (core dumped) 请说明原因 例 题 7 int buf[1] ={100}; 和 extern int ?buf; main() { printf(“%d\n”, ?buf); } 连接时不检查名字的类型 - 虽对buf的类型持不同观点,但能连接成目标程序 连接时让不同文件中同一名字的地址相同 - 运行时,在link2.c中,由于buf的内容是100,取?buf的值就是取地址为100的单元的内容。该地址不在程序数据区内,报错 若把这些代码放在一个文件中,编译时报错 习 题 * * * * * * * * * * * * * * * * * * * * * * * * * 11.1 C语言编译系统 这里描述的装入过程从概念上来说是正确的 若需要了解装入过程真正是怎样工作的,必须在理解了进程、虚拟内存和内存分页等概念以后 11.1 C语言编译系统 11.1.8 动态连接 静态库 周期性地被维护和更新 内存可能有多份printf和scanf的代码 共享库 在运行时可以装到任意的内存位置,被内存中的进程共享 11.1 C语言编译系统 共享库以两种不同的方式被共享 共享库的代码和数据被所有引用该库的可执行目标文件所共享 共享库的.text节在内存中的一个副本可以被正在运行的不同进程共享 11.1 C语言编译系统 可重定位文件 翻译器 (cpp,cc1,as) main.c 源文件 连接器(ld) main.o libc.so mylib.so 重定位和符号表信息 部分连接的可执行目标文件 swap2 加载器(execve) libc.so mylib.so 动态连接器(ld-linux.so) 代码和 数据 此时,动态连接器是内存中已完全连接的可执行代码 11.1 C语言编译系统 加载器通常装入和运行动态连接器 动态连接器接着完成连接任务 把libc.so的文本和数据装入内存并进行重定位 把m
您可能关注的文档
- 第六章失业与货膨胀.ppt
- 第六章微生物生长与环境因子.ppt
- 第六章战国时诸侯各国的变法改革运动.ppt
- 第六章描述性究设计: 调查与观察.pptx
- 第六章政策分理论与工具.ppt
- 第六章有噪信编码定理.ppt
- 第六章旅游服用语礼仪.ppt
- 第六章教育学面发展教育的组成部分.ppt
- 第六章极谱与安分析法.ppt
- 第六章正常使极限状态.ppt
- (19页PPT)中国传统节气和节日1第180篇.pptx
- (110页PPT)世联江苏江阴靖江工业园区两大产业聚集区整体定位及发展战略PT.ppt
- (111页PPT)信息科技架构蓝图规划集成架构分册.pptx
- (19页PPT)中国传统节气和节日9第4篇.pptx
- (19页PPT)中国传统节气和节日3第5篇.pptx
- 2026年管理类综合能力联考绝密押题卷(十二).docx
- 2026年管理类综合能力联考绝密押题卷(十一)20251101.docx
- 2026年管理类综合能力联考绝密押题卷二.docx
- 35kV八步变电站设备更新改造项目建议书(送审版).pdf
- 2026年管理类综合能力联考绝密押题卷三.docx
最近下载
- 新能源汽车驱动电机及控制系统检修-实训工单.docx VIP
- 第九章讲 食品干燥机械设备.ppt VIP
- 【中职专用】语文(高教版2023职业模块)4.1《活动策划》 课件.pptx VIP
- 第七单元 数学广角——植树问题整理和复习(教案)人教版数学五年级上册.docx VIP
- 全国优质课一等奖人音版六年级音乐上册《小河淌水》课件.pptx
- 学术英语(医学)知到智慧树期末考试答案题库2025年天津医科大学.docx VIP
- 附着式脚手架(爬架)安全管理.pptx
- 2022年吐鲁番市鄯善县社区工作者招聘考试试题.pdf VIP
- 危害因素辨识环因素辨识.ppt VIP
- 高中英语学习兴趣培养.doc VIP
有哪些信誉好的足球投注网站
文档评论(0)