首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对pthread函数pthread_condattr_setclock的NPTL链接

针对pthread函数pthread_condattr_setclock的NPTL链接
EN

Stack Overflow用户
提问于 2010-03-01 22:31:06
回答 1查看 1.3K关注 0票数 3

我已经编写了一些对条件变量使用计时等待的pthread代码,但是为了确保相对等待,我使用pthread_condattr_setclock()将condvar的时钟类型设置为CLOCK_MONOTONIC。

为了在RHEL4上编译和链接pthread_condattr_setclock(),我必须在我的gcc命令行中添加-I/usr/include/nptl和-L/usr/lib/nptl。我的理解是2.6内核( RHEL4有)默认使用NPTL pthread实现,所以为什么我需要显式地指定这些路径才能使用这个函数?

只有这个函数需要我这样做:如果省略它,所有的编译和链接都可以正常进行,而不需要指定额外的路径(尽管代码的行为是不正确的)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-02 17:32:58

根据我所能发现的,/usr/include和/usr/lib中的pthread头和库分别是旧的LinuxThreads实现,我推测它们是为了向后兼容(即,您应该在旧接口上构建),但在运行时使用NPTL实现(它的接口是LinuxThreads接口的超集)。

因此,如果您知道需要新的NPTL接口(即,如果您需要一些额外的功能),并且最重要的是,您知道NPTL接口将在运行时可用,则只能使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2356448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档