其他分享
首页 > 其他分享> > c-静态链接新的libc符号以与较低的libc版本一起使用

c-静态链接新的libc符号以与较低的libc版本一起使用

作者:互联网

我有一个使用eventfd和timerfd内核syscall的应用程序.为此,您需要一个现代内核和一个支持它们的libc(至少2.8).

我目前的情况是,我的系统具有正确的内核,但是2.7.11 libc版本显然不支持新syscall的必需功能.
但是,由于这两个接口(timerfd,eventfd)可能只是来自libc的系统调用,我想知道我是否可以将所需的符号与现代libc静态链接,然后在具有适当内核的2.7.11 libc上运行该应用程序.

正如我所看到的,静态链接的函数将只执行系统调用而不使用libc,这将使它们安全,但是我可能忽略了其他问题.

有人知道这听起来可行吗,我如何才能静态链接这些功能?

解决方法:

创建自己的使用syscall()直接调用它们的条件编译版本可能更可行.

标签:libc,gcc,linker,linux,c-4
来源: https://codeday.me/bug/20191209/2097407.html