加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

链接到多个库,其中一个包装了一组系统调用

发布时间:2021-01-10 00:31:16 所属栏目:Linux 来源:网络整理
导读:所以这就是我正在关注的场景: 我有3个库 A,B和C. 库A实现函数foo()并将其公开为API. 函数foo()调用POSIX write()调用来写一些数据. 库B使用linker -wrap选项将包装器写入write()glibc调用. 库C链接到A和B. 库C进行的任何write()调用都将被包装器拦截 库B.但

所以这就是我正在关注的场景:

我有3个库 – A,B和C.

>库A实现函数foo()并将其公开为API.
>函数foo()调用POSIX write()调用来写一些数据.
>库B使用linker -wrap选项将包装器写入write()glibc调用.
>库C链接到A和B.

库C进行的任何write()调用都将被包装器拦截
库B.但是,我的问题是,如果库C调用foo(),foo()内的write()调用是否会被B拦截? 最佳答案 如果A与-wrap = write链接,foo将调用包装器.如果不是,它就不会.

关于用C语言编写的调用也是如此.就调用write而言,A和C之间没有任何区别.

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!