我正在编写使用sched_setaffinity的代码,这需要内核2.5.8或更高版本。 我一直在试图找出这些东西是否可能:
旧版内核的系统可以优雅地进行编译,也许只是完全忽略了这个代码段。
如果我发送一个更老的内核的编译二进制文件,它将跨越此function或只是打印一个警告。
我想我的问题是,如何安全地使用新的内核函数,而不会在使用旧系统时破坏整个应用程序?
如何检查CLI程序是否正在等待来自stdin的input?
堆栈variables或函数声明
在Linux中侦听/重新发送TCP SYN数据包到C ++程序
如何从C程序获取NIC细节?
阅读PDF与C
你想让你的程序链接或运行? 您可以通过glibc syscall()函数直接调用系统调用,而不需要最新的C库。 显然,在没有支持的早期系统上会失败(一个快速测试显示内核返回-1 == ENOSYS为未实现的系统调用号码),所以你将需要测试。
将dlopen()与NULL作为文件名,使用dlsym()您要使用的函数。 如果dlsym()成功,则通过返回的函数指针调用该函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。