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

前端之家收集整理的这篇文章主要介绍了链接到多个库,其中一个包装了一组系统调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

我有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之间没有任何区别.

猜你在找的Linux相关文章