我知道我可以通過運行它來獲得一些linux共享庫的版本。例如如何以編程方式查找加載的共享庫的版本?
bash$ /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Ubuntu GLIBC 2.23-0ubuntu9) stable release version 2.23, by Roland McGrath et al.
我還可以得到加載的共享庫編程使用dl_iterate_phdr(3)正在運行的進程。
如何以編程方式獲取版本信息?
我知道我可以通過運行它來獲得一些linux共享庫的版本。例如如何以編程方式查找加載的共享庫的版本?
bash$ /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Ubuntu GLIBC 2.23-0ubuntu9) stable release version 2.23, by Roland McGrath et al.
我還可以得到加載的共享庫編程使用dl_iterate_phdr(3)正在運行的進程。
如何以編程方式獲取版本信息?
也許這將幫助: https://unix.stackexchange.com/questions/58846/viewing-linux-library-executable-version-info
基本上,ELF包含字段SONAME告訴庫的名稱與主要版本。
您可以使用系統調用,無論您在cli中使用哪個命令,都將其插入此命令中。
system(「command」);
這是一種低效率的方式來做到這一點,但它是一種選擇。
你運行它的技巧只適用於libc。您可以使用rpm或dpkg查看軟件包版本。 – stark