Do czego służy opcja „soname” do tworzenia bibliotek współdzielonych?

Nauczyłem sięProgram Library HOWTO„. Wspomina o tym używającsoname zarządzać podobną wersją.

gcc -shared -fPIC -Wl,-soname,libfoo.so.1  -o libfoo.so.1.0.0 foo.c
ln -s libfoo.so.1.0.0  libfoo.so.1
ln -s libfoo.so.1 libfoo.so

I dostaję informację, że jeślisoname nie jest ustawiony. będzie równy libfoo.so.1.0.0, zobacz odpowiedź ztutaj.

I uważam, że może również działać bez soname, jak poniżej

 gcc -shared -fPIC -o libfoo.so.1.0.0 foo.c
 ln -s libfoo.so.1.0.0  libfoo.so.1
 ln -s libfoo.so.1 libfoo.so

Myślę więc, że jedynym użytecznym punktem jest to, żesoname opcja może poinformować o wersji biblioteki współużytkowanej podczas używaniareadelf -d libfoo.so polecenie, aby to sprawdzić.

Co jeszcze może zrobić?

questionAnswers(5)

yourAnswerToTheQuestion