I know both are executable up to my knowledge... But what is the difference between a .dll file and .exe file, and what is the difference between a .so file and a .sh/.py/.bin file?
-
2Neither are typically considered executables, `.dll`, and `.so` are [shared libraries](http://en.wikipedia.org/wiki/Library_(computing)#Shared_libraries), which can be used by other applications to gain access to some functionality. – wkl Apr 19 '12 at 19:24
-
2[Difference between .dll and .exe?](http://stackoverflow.com/q/1210873/478288) – chrisaycock Apr 19 '12 at 19:25
-
And here I thought this question would be an interesting one, like "what is the difference between a .dll and a .so?"... – Ignacio Vazquez-Abrams Apr 19 '12 at 19:36
-
@IgnacioVazquez-Abrams - if only. – wkl Apr 19 '12 at 19:46
1 Answers
.dll
- Dynamic Linked Library. Its the Microsoft's implementation of shared library which are loaded during program initialization or during execution. Unlike statically linked library it doesn't bloat the code but a single memory image can be shared across multiple different process image. These are not-standalone but requires to be called from an executable. As its a library there can be multiple entry points contrasting to an executable.
.exe
- A Microsoft implementation of a standalone executable. An executable can be directly loaded as a process by a loader into the memory. There is one and only one entry point which is executed as the first thread of execution.
.so
- Shared Object. On *nix systems, shared libraries (like dll) are implemented as shared objects.

- 62,056
- 18
- 131
- 204