Wednesday, 25 November 2015

DLL vs EXE

EXE:
1.    It's a executable file
2.    When loading an executable, no export is called, but only the module entry point.
3.    When a system launches new executable, a new process is created
4.    The entry thread is called in context of main thread of that process.
DLL:
1.    It's a Dynamic Link Library
2.    There are multiple exported symbols.
3.    The system loads a DLL into the context of an existing process.

Ø  Well the most obvious difference is that EXE files are used for launching an application (it contains a startup function etc), whereas DLLs are loaded into an application (ie they can't run by themselves).