[英]How do I determine which version of glibc supports the functions I use?
一些功能,如 pthread_setname_np,手冊會說它從 glibc 2.12 開始支持。 但是對於其他一些功能,比如pthread_self ,手冊並沒有說它支持哪個版本。 如何確定哪個版本的 glibc 支持我使用的功能?
我試圖從glibc doc中查找信息,但找不到任何有用的信息。
請注意文檔中的CONFORMING TO
部分。
像pthread_self
這樣的 function 符合 POSIX 標准,這意味着它可能會在每個版本的 glibc 中可用。
pthread_setname_np
沒有在 POSIX 中定義,但是后來添加到庫中,所以它說明了它可以從哪個版本獲得。
AFAIK 只有在 POSIX 中未定義的函數才被添加到 glibc 的最新版本中,並且它通常在文檔中說明它們可以從哪個版本獲得。
如果你輸入man pthread_setname_np
你可以看到這樣的部分
VERSIONS
These functions first appeared in glibc in version 2.12.
或者,您可以查詢libpthread
以獲取存儲的版本
$ readelf -a /usr/lib/x86_64-linux-gnu/libpthread.so | grep pthread_setname_np
188: 0000000000015580 293 FUNC GLOBAL DEFAULT 16 pthread_setname_np@@GLIBC_2.12
639: 0000000000015580 293 FUNC GLOBAL DEFAULT 16 pthread_setname_np
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.