Need clarification
-
Hi All, I need a clarification regarding DLL. DLL means Dynamic Link Library. Does the static linking of DLL voilates the definition of DLL. Can any one clarify this point? Thanks in advance.
kuttiam wrote:
Does the static linking of DLL voilates the definition of DLL.
:confused: What do you mean ? The static library only contains information about how to load the dll. If the dll is not present when you launch your program, it will still fail because the dll is reauired. Later on if you change the dll (without changing it's interface, only the implementation), then your program will use the new version. So, it is still dynamic :). Does that answer your question ?
Cédric Moonen Software developer
Charting control [v1.4] -
Hi All, I need a clarification regarding DLL. DLL means Dynamic Link Library. Does the static linking of DLL voilates the definition of DLL. Can any one clarify this point? Thanks in advance.
Just to add a little to Cedric's explanation: Visual Studio supports dynamic and static linking of MFC. With dynamic linking, your application is linked to an import library for MFC. The first time it calls an MFC function, the matching function in the import library sets things up so that this and future calls are to the proper function in the MFC DLL. Using static linking, your application calls functions directly in an MFC object library. The DLL is not required in this case. The advantage of dynamic linking is that your .EXE file is much smaller. The disadvantage is that you must make sure that the correct version of the MFC DLL is installed when you install your application. The advantage of static linking is that you don't have to worry about the installed version of MFC, since all of the required code is linked directly into your application. The disadvantage, obviously, is that your .EXE is much larger.
Software Zen:
delete this;
Fold With Us![^]