Linux实验四.ppt
《Linux实验四.ppt》由会员分享,可在线阅读,更多相关《Linux实验四.ppt(19页珍藏版)》请在第壹文秘上搜索。
1、实验四 插件框架版本1要求:开发一个程序,向屏幕打印“Hello World”;在不重新编译链接原程序的前提下,将打印的文字改为“Hello China”提示:使用动态链接库实现打印功能3动态库的编写 示例(4.1)动态库的编写#g+-fpic shared o libtest.so a1.cpp a2.cpp 生成libtest.so4动态库的使用 打开动态链接库#includevoid*dlopen(const char*file,int mode);参数file:动态链接库的文件名,包括路径信息mode:动态链接库的使用方式,例如RTLD_LAZY:动态的加入动态链接库中的函数返回值:引
2、用动态链接库的句柄;出错返回NULL5动态库的使用 映射动态链接库中的函数#includevoid*dlsym(void*handle,const char*FuncName);参数handle:dlopen的返回值FuncName:动态链接库中的函数名返回值:FuncName函数被加载后,在进程地址空间中的地址;出错返回NULL6动态库的使用 查看出错原因#includechar*dlerror();返回值当dlopen、dlsym等函数出错时,dlerror返回字符串说明这些函数出错的原因7动态库的使用 卸载动态链接库#includeint dlclose(void*handle);参数h
3、andle:dlopen的返回值 动态库使用者的编译#g+-o test test.cpp ldl#test 出错?8运行出错的原因 动态库导出函数的变形 查看动态库导出的函数#nm libtest.so f函数实际上在动态库中的名字是:_Z1fv9实验四 插件框架 版本2要求:同时要打印“Hello World”,打印“Hello China”,甚至同时打印未来才会增加的其他打印信息打印未来的这些信息,也不能重新编译链接原程序 提示一种打印功能用一个动态链接库(插件)实现将这些 插件放置在固定的目录中,例如当前的plugin目录遍历这个目录,获取所有动态链接库读目录的基本操作打开目录(ope
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 实验