What is the difference between Extension DLL and Regular
DLL?
Answers were Sorted based on User's Feedback
Answer / kaj telenar
An extension DLL is also known as an MFC extension dll or
and AFXDLL. It can only work with MFC applications and it
shares memory space with the MFC application that it is
linked with. The DllMain needs to call special routines to
let MFC know that it is linked in; otherwise you get weird
memory problems. Extension DLLs must use the dll version of
MFC, rather than the statically linked version.
A regular DLL can be written in any language, generally
exports routines in "PASCAL" format, and uses its own
memory pool.
Is This Answer Correct ? | 24 Yes | 3 No |
Answer / utpal kr. kashyap
1. Extension DLL only used in MFC applications while Regular
DLL used in MFC and non - MFC applications.
2. Extension DLL are not derived from CWinAppl classes while
Regular DLL is derived from CWinApp class.
3. Extension DLL can export function and classes while in
the case of Regular DLL can export only functions.
Is This Answer Correct ? | 19 Yes | 7 No |
Answer / varaprasadk
An extension dll can be used in the same language as it is
written (for example C++ in combination with MFC). This
means it is easier to create them, and you can even export
whole classes from these dll's.
A regular dll is a dll that can be used by any language,
not matter in what language it is written. It is very hard
to learn writing these dll's.
Is This Answer Correct ? | 17 Yes | 10 No |
Answer / k.s.j.prem anand
Regular DLL can export only functions, and it can be used
across C, C++ and MFC based Applications.
The Extension DLL can export classes and class member
functions and this DLL can be used only with MFC based
client Applications.
Is This Answer Correct ? | 13 Yes | 7 No |
Answer / debasis mahapatra
An extension DLL supports a C++ interface. In other words,
the DLL can export whole classes and the client can
construct objects of those classes or derive classes from
them. An extension DLL dynamically links to the code in the
DLL version of the MFC library. Therefore, an extension DLL
requires that your client program be dynamically linked to
the MFC library (the AppWizard default) and that both the
client program and the extension DLL be synchronized to the
same version of the MFC DLLs (mfc42.dll, mfc42d.dll, and so
on). Extension DLLs are quite small; you can build a simple
extension DLL with a size of 10 KB, which loads quickly.
If you are working on the Win32 environment then
MFC regular DLL.
The regular DLL is two types: Static DLL and dynamic DLL.
If you choose static linking, your DLL will include a copy
of all the MFC library code it needs and will thus be
self-contained. A typical Release-build statically linked
regular DLL is about 144 KB in size. If you choose dynamic
linking, the size drops to about 17 KB but you'll have to
ensure that the proper MFC DLLs are present on the target
machine.
Is This Answer Correct ? | 3 Yes | 1 No |
1)how to Display the File Dialog Box, in MFC ?
What are the special requirements for dialog box resources used in a form view?
What types of threads are supported by MFC framework?
1)How to change a text of a button in runtime?
What is mfc class hierarchy?
Types of DLL's
I can i set size of integer variable should be fixed for different operating systems(Ex i want integer size is 2bytes in OS)
What is the use of CCmdTarget ?
If application hangs while SendMessage is waiting for the result, how you handle it?
1) How do you Destroy a Dialog Box ?
How to handle RTTI in MFC ?
How you find memory leaks?