




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux高级编程实验实验报告TheStandardizationOfficewasrevisedontheafternoonofDecember13,2020TheStandardizationOfficewasrevisedontheafternoonofDecember13,2020Linux高级编程实验实验报告全文共14页,当前为第1页。Linux高级编程实验实验报告Linux高级编程实验实验报告全文共14页,当前为第1页。电子科技大学实验报告学生姓名:学号:指导教师:李林实验地点:清水河主楼A2-412实验时间:一、实验室名称:Linux环境高级编程实验室二、实验项目名称:插件框架实验三、实验学时:4学时四、实验目的:实践Linux环境下插件框架的开发。学习并掌握插件的工作原理。五、实验内容:1、使用动态链接库实现打印功能开发一个程序,向屏幕打印“HelloWorld”;在不重新编译链接原程序的前提下,将打印的文字改为“HelloChina”。Linux高级编程实验实验报告全文共14页,当前为第2页。2、使用动态链接库实现自定义打印功能Linux高级编程实验实验报告全文共14页,当前为第2页。同时要打印“HelloWorld”,打印“HelloChina”,甚至同时打印未来才会增加的其他打印信息。打印未来的这些信息,也不能重新编译链接原程序。3、一次只调用一种功能通过命令行方式:./help,输出所有插件实现的功能ID,以及该功能ID对应的功能描述(参考代码3)通过命令行方式:./FuncID,调用具体打印功能(每个插件导出GetID接口)(参考代码4)4、导出函数都放在一个类中在版本3中,插件导出了Print、GetID、Help三个函数,主程序需要使用多个容器分别保存这些函数地址。在复杂的业务逻辑中,导出的函数可能更多,若还按照版本3的方式,代码维护性不佳。将三个导出函数都放在一个类中,让插件外部获取该类的对象六、实验步骤:版本1Linux高级编程实验实验报告全文共14页,当前为第3页。程序代码如图、图、图所示(程序是在Linux图形界面截取的,本人的Ubuntu在字符界面无法显示中文注释):Linux高级编程实验实验报告全文共14页,当前为第3页。图功能函数Linux高级编程实验实验报告全文共14页,当前为第4页。图helloworld函数Linux高级编程实验实验报告全文共14页,当前为第4页。图主函数首先,使用命令#g++-fpic–shared–o将和编写成动态库。如图所示:图动态链接库的编写Linux高级编程实验实验报告全文共14页,当前为第5页。然后,再进行动态库使用者的编译,命令是#g++-omain–ldl,如图所示。Linux高级编程实验实验报告全文共14页,当前为第5页。图动态库使用者图中显示了两次运行结果,但是第一次是helloworld,第二次是hellobaby。这很好地体现的动态链接的特性。版本2代码如下:图mainLinux高级编程实验实验报告全文共14页,当前为第6页。Linux高级编程实验实验报告全文共14页,当前为第6页。图helloyanyumin函数图helloYANYUMIN函数该函数实现了,同时要打印“Helloyanyumin”,打印“HelloYANYUMIN”,没有重新编译链接原程序。运行结果如下图所示。图运行结果版本3-2Linux高级编程实验实验报告全文共14页,当前为第7页。程序代码如下:Linux高级编程实验实验报告全文共14页,当前为第7页。图Linux高级编程实验实验报告全文共14页,当前为第8页。图Linux高级编程实验实验报告全文共14页,当前为第8页。图此外,还有和,里面存放的都是main函数调用的子函数,在main里有注释,所以便不再赘述。运行结果如下:图运行过程与结果版本4Linux高级编程实验实验报告全文共14页,当前为第9页。主要程序代码如下:Linux高级编程实验实验报告全文共14页,当前为第9页。图Linux高级编程实验实验报告全文共14页,当前为第10页。图Linux高级编程实验实验报告全文共14页,当前为第10页。Linux高级编程实验实验报告全文共14页,当前为第11页。图Linux高级编程实验实验报告全文共14页,当前为第11页。图Linux高级编程实验实验报告全文共14页,当前为第12页。这种方式采用将三个导出函数都放在一个类中,让插件外部获取该类的对象。编译运行结果如下:Linux高级编程实验实验报告全文共14页,当前为第12页。图过程及结果七、总结及心得体会:本次实验主要是学习插件的开发和使用,通过不同的思想对不同插件进行编程,打开了我的思维,增加了我对插件编程的灵活性的掌控。八、对本实验过程及方法、手段的改进建议:这次做实验的过程有点紧凑,实验代码有的部分不是很理解(相关知识掌握不清晰),建议老师能在上堂课结束后提示一下本堂课的主要内容,便于我们课后查阅提前准备。总的来说,收获很大。Linux高级编程实验实验报告全文共14页,当前为第13页。报告评分:Linux高级编程实验实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政治与忆秦娥娄山关
- 高效提分的特许金融分析师备考技巧与试题及答案
- 体育教师专业能力培训
- 八年级上册《多边形》课件与练习
- 质量安全科科室年终总结
- 【名师课件】4.1.1 课件:光的折射-2025版高一物理必修二
- 课件活动征文范文大全
- 特困行业用电优惠宣讲
- CFA分析报告写作技巧试题及答案
- 2025届贵州省安顺市高三二模地理试题
- 第七章功能性有机小分子
- 儿童焦虑性情绪障碍筛查量表(SCARED)
- (6)-3.课件《龙泉窑历史沿革》
- 软件定义网络(SDN)基础教程PPT完整全套教学课件
- 六氟化硫断路器试验报告
- 压电式传感器的原理和其应用
- 低压电工作业电工培训课件
- 村史范本、模板
- 小学高年级《红楼春趣》剧本(宁波实验学校)
- 房建项目施工阶段商务策划管理
- 北师大版四年级下册数学《练习三》
评论
0/150
提交评论