Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Need clarification

Need clarification

Scheduled Pinned Locked Moved C / C++ / MFC
question
3 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    kuttiam
    wrote on last edited by
    #1

    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.

    C G 2 Replies Last reply
    0
    • K kuttiam

      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.

      C Offline
      C Offline
      Cedric Moonen
      wrote on last edited by
      #2

      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]

      1 Reply Last reply
      0
      • K kuttiam

        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.

        G Offline
        G Offline
        Gary R Wheeler
        wrote on last edited by
        #3

        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![^]

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups