电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Linux高级编程实验实验4报告

Linux高级编程实验实验4报告_第1页
1/10
Linux高级编程实验实验4报告_第2页
2/10
Linux高级编程实验实验4报告_第3页
3/10
电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 指导老师:李林实验地点:清水河主楼 A2—412 实验时间: 一、实验室名称:Linux 环境高级编程实验室二、实验项目名称:插件框架实验三、实验学时:4 学时四、实验目的:实践 Linux 环境下插件框架的开发.学习并掌握插件的工作原理.五、实验内容: 1、使用动态链接库实现打印功能开发一个程序,向屏幕打印“Hello World";在不重新编译链接原程序的前提下,将打印的文字改为“Hello China” 。 2、使用动态链接库实现自定义打印功能同时要打印“Hello World",打印“Hello China”,甚至同时打印未来才会增加的其他打印信息。打印未来的这些信息,也不能重新编译链接原程序。 3、一次只调用一种功能通过命令行方式:。/a.out help,输出所有插件实现的功能 ID,以及该功能 ID 对应的功能描述(参考代码 3)通过命令行方式:。/a。out FuncID,调用具体打印功能(每个插件导出 GetID 接口)(参考代码 4) 4、导出函数都放在一个类中在版本 3 中,插件导出了 Print、GetID、Help 三个函数,主程序需要使用多个容器分别保存这些函数地址。在复杂的业务逻辑中,导出的函数可能更多,若还根据版本 3 的方式,代码维护性不佳.将三个导出函数都放在一个类中,让插件外部猎取该类的对象六、实验步骤:版本 1程序代码如图 1.1、图 1。2、图 1.3 所示(程序是在 Linux 图形界面截取的,本人的 Ubuntu 在字符界面无法显示中文注释):图 1.1 功能函数图 1.2 hello world 函数图 1.3 主函数首先,使用命令#g++ —fpic –shared –o function.so helloworld。cpp function 。 cpp 将 helloworld 。 cpp 和 function.cpp 编 写 成 动 态 库function.so。如图 1。4 所示:图 1.4 动态链接库的编写然后,再进行动态库使用者的编译,命令是#g++ —o main main.cpp –ldl,如图 1.5 所示.图 1.5 动态库使用者图中显示了两次运行结果,但是第一次是 hello world,第二次是 hello baby。这很好地体现的动态链接的特性。版本 2代码如下:图 2.1 main 图 2.2 hello yanyumin 函数图 2.3 hello YANYUMIN 函数该 函 数 实 现 了 , 同 时 要 打 印 “ Hello yanyumin", 打 印 “ Hello YANYUMIN”,没有重新编译链接原程序.运行结果如下图 2。4 所示.图 2。4 运行结果版本 3—2程序代码...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Linux高级编程实验实验4报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部