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 |
What is LoadLibrary function returns?
What is a message map, and what is the advantage of a message map over virtual functions?
How can i change the color of a dropdowncombobox elements
how u can move CDC pointer to one line in cview?
If application hangs while SendMessage is waiting for the result, how you handle it?
How to convert a CString variable to char* or LPTSTR?
what do you mean by psychic window?
How can i implement the dynamic menus in MFC plz give the code
Explain Doc/View architecture
What is userdefine Messages in MFC?
How can server communicate with more than one client
What is the difference between the SDI and MDI