首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是librt.so?如何直接使用?

什么是librt.so?如何直接使用?
EN

Stack Overflow用户
提问于 2019-05-14 18:40:15
回答 2查看 12.5K关注 0票数 9

我发现一些库链接到librt.so,而其他库没有。我想知道它是在什么情况下联系在一起的。

我从未直接使用过这个库。有没有演示它的直接用法?是否有与之相关的头文件?

EN

回答 2

Stack Overflow用户

发布于 2019-05-16 02:11:39

这些函数用于Real Time Solaris (Real Time意味着在时间范围内有保证的响应),它后来被集成到主线Solaris中,是libc的一部分。Librt只存在于历史上的、向后兼容的原因,您不需要引用它。

票数 6
EN

Stack Overflow用户

发布于 2019-05-14 19:43:01

代码语言:javascript
复制
$ nm /usr/lib32/librt.a | grep ' T ' | grep -v ' __'
00000000 T aio_cancel
00000000 T aio_error
00000000 T aio_fsync
00000000 T aio_read
00000000 T aio_read64
00000000 T aio_return
00000130 T aio_suspend
00000000 T aio_write
00000000 T aio_write64
00000000 T timer_create
00000000 T timer_delete
00000000 T timer_getoverrun
00000000 T timer_gettime
00000000 T timer_settime
00000000 T shm_open
00000000 T shm_unlink
00000000 T mq_open
00000000 T mq_close
00000000 T mq_unlink
00000000 T mq_getattr
00000000 T mq_setattr
00000310 T mq_notify
00000000 T mq_send
00000000 T mq_receive

事实上,如果我们看一下man shm_open,我们会看到

与-lrt的

链接。

因此,提供的函数列表似乎是正确的。

还有来自Solaris https://docs.oracle.com/cd/E86824_01/html/E54772/librt-3lib.html的这个页面,它解释了库重新导出了一些在libc中实际实现的符号,并且由于历史原因而存在,因为它在Posix标准的一些版本中被指定。

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

https://stackoverflow.com/questions/56128570

复制
相关文章

相似问题

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