none
Teach me anout MFC extension DLL's and regular DLL's! RRS feed

  • Question

  • Hi!

    I have studied Wikipedia and MSDN, but still I haven't grasped the different DLL setups. I will put down what I think that I have found out so far. Please correct me where I',m wrong!

    1. A DLL can be of type MFC extension DLL or regular DLL.
    2. A DLL of type MFC extension can call functions in a regular DLL
    3. A DLL of type regular cannot call functions in an MFC extension DLL.
    4. A DLL of type regular cannot call functions in an MFC extension DLL even if this DLL only export functions with plain C-styre signatures and datatypes.
    5. A DLL of type MFC extension may be complemented with a .lib-file that is used for statically linking. After statically linking the DLL, the caller can use functions in the DLL as if they where available during build time (all though it is possible to exchange the DLL for a new, compatible, DLL).
    6. A DLL of type regular may be complemented with a .a-file that is used for statically linking. After statically linking the DLL, the caller can use functions in the DLL as if they where available during build time (all though it is possible to exchange the DLL for a new, compatible, DLL).
    7. A regular DLL is compiled with a standard C interface and the dll format is ELF
    8. A MFC Extension DLL is compiled with a MFC interface and the dll format is PE COFF
    9. A regular DLL may internaly use MFC extensions and include the AFX-library, but it is still called regular if it export its functions as a regular DLL (plain C-style and C datatypes)
    10. There is no direct way to tell if a DLL is build as a regular DLL och MFC extension DLL. (Or is there?!?)

    /Andreas

    Wednesday, October 27, 2010 2:11 PM

Answers

  • 1. False a dll is a dll.

    2. True since there is no difference.

    3. False.

    4. False

    5. Unknown depends on the .lib file, could have code in it, could be just imports.

    6. Unknown depends on the .lib file, could have code in it, could be just imports.

    7. False, dll's are always PE COFF

    8. True, dll's are always PE COFF

    9. Kinda true, but only because there is no difference.

    10. Irrelevant there is no difference.

     

     

    • Marked as answer by SamAgain Friday, November 5, 2010 11:14 AM
    Thursday, October 28, 2010 4:01 PM