Net assemblies (.exe and .dll) are fundmentally the same but windows interacts with each of them in a different manner.
DLL - When windows loads a dll, it runs the initialization code and then leaves it alone.Functions in the dll are called if they are explicitly referenced by an application. Another thing, when dll gets crashed it not only crashes itself but also crashes the parent application as the dll runs in the memory of the parent application(concept called In-Process i.e runs in same address space)
EXE - When windows load an exe, the exe's initialization code is responsible for program which runs as long as the application is running. The program request messages from the operating system. Windows keep track of the application as a separate task. It allocates separate memory for both the exe and the application using that exe. (concept called Out-Process i.e runs in different address space)
exe runs on its own and the dll file is linked or referenced to the exe at run time.
.dll-It contains programs that be called upon by an exe as and when needed.It is not loaded into the RAM at the very first time..exe can declare a .dll function which can be called when it is required to perform its specific task.Basically , it is loaded only when a call to .dll file is made.It takes the same address space as that of the parent application so when it crashes the parent application as well.
.EXE-Perfroms specific tasks and does not require additional software to run it.a seperate memory is allocated for an exe i.e. it has its own process.
This group is an initiative from "Vidya Vrat Agarwal" a .NET Passionate. This group is created with a vision to encourage and help people learn Microsoft .NET technology. This group also provides a platform to share ideas, thoughts and experiences an individual may have while learning and implementing .NET technologies.
2 comments:
Net assemblies (.exe and .dll) are fundmentally the same but windows interacts with each of them in a different manner.
DLL - When windows loads a dll, it runs the initialization code and then leaves it alone.Functions in the dll are called if they are explicitly referenced by an application.
Another thing, when dll gets crashed it not only crashes itself but also crashes the parent application as the dll runs in the memory of the parent application(concept called In-Process i.e runs in same address space)
EXE - When windows load an exe, the exe's initialization code is responsible for program which runs as long as the application is running. The program request messages from the operating system. Windows keep track of the application as a separate task. It allocates separate memory for both the exe and the application using that exe. (concept called Out-Process i.e runs in different address space)
exe runs on its own and the dll file is linked or referenced to the exe at run time.
.dll-It contains programs that be called upon by an exe as and when needed.It is not loaded into the RAM at the very first time..exe can declare a .dll function which can be called when it is required to perform its specific task.Basically , it is loaded only when a call to .dll file is made.It takes the same address space as that of the parent application so when it crashes the parent application as well.
.EXE-Perfroms specific tasks and does not require additional software to run it.a seperate memory is allocated for an exe i.e. it has its own process.
Post a Comment