我有一个使用 eventfd 和 timerfd 内核系统调用的应用程序。为此,您需要一个现代内核和一个支持它们的 libc,至少是 2.8。
我目前的情况是,我的系统具有正确的内核,但是 2.7.11 libc 版本显然不支持新系统调用所需的功能。
但是,由于这 2 个接口(interface)(timerfd、eventfd)可能只是来自 libc 的系统调用,我想知道我是否可以将所需的符号与现代 libc 静态链接,然后使用适当的内核在 2.7.11 libc 上运行应用程序.
正如我所见,静态链接函数将只执行系统调用而不使用 libc,这将使它们安全,但我可能会忽略其他问题。
有人知道这听起来是否可行吗?我如何静态链接这些函数?
最佳答案
创建您自己的使用 syscall()
直接调用它们的条件编译版本可能更可行。
关于c++ - 静态链接新的 libc 符号以与较低的 libc 版本一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3415579/