簡體   English   中英

如何確定哪個版本的 glibc 支持我使用的功能?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM