共享对象和DLL之间的区别

Fal*_*ata 4 c c++ dll shared-libraries

我有一个库,在编译时正在构建一个名为libEXAMPLE.so(在so.le文件夹中)的共享对象,以及一个名为EXAMPLE.so的dll(在dll文件夹中).这两个共享对象的大小非常相似,看起来完全相同.搜索互联网时发现,程序使用dll进行符号解析的方式与使用共享对象的方式有所不同.

你能帮助我理解这个吗?

Mas*_*rID 5

"DLL"是windows如何命名他们的动态库

"SO"是linux如何命名他们的动态库

两者都有相同的目的:动态加载.

Windows使用PE二进制格式,Linux使用ELF.

PE:http: //en.wikipedia.org/wiki/Portable_Executable

ELF:http: //en.wikipedia.org/wiki/Executable_and_Linkable_Format