fan*_*ana 4 gcc shared-libraries elf
如果我创建一个没有像这样的SONAME的共享库
gcc -shared libfoo.o -o libfoo.so
Run Code Online (Sandbox Code Playgroud)
并链接它,链接器如何找到我的共享库?
libfoo.so链接器将文件名视为默认SONAME吗?
dim*_*mba 10
我觉得你是对的.在这里,ld手册页说:
-soname =名称
创建ELF共享对象时,将内部DT_SONAME字段设置为指定的名称.当可执行文件与具有DT_SONAME字段的共享对象链接时,则在运行可执行文件时,动态链接器将尝试加载由DT_SONAME字段指定的共享对象,而不是使用为链接器指定的文件名.