Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There are two types of dynamic linking in the Windows world:</p> <ol> <li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms684184%28v=vs.85%29.aspx" rel="noreferrer">Load-Time</a> linking is when a DLL is loaded automatically when your program starts up. Windows finds this DLL using a specific algorithm I'll discuss below.</li> <li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms685090%28v=vs.85%29.aspx" rel="noreferrer">Run-Time</a> linking is when <em>you</em> specifically load a DLL by calling <code>LoadLibrary</code> in your code. Similar rules apply as to how the library is found, but you can specify a fully-qualified or relatively-qualified path to control the search.</li> </ol> <p><strong>In the case of Load-Time linking</strong>, MS recommends that your program's DLLs are stored in and loaded from the same directory where your application is loaded from. If this is at all workable, this is probably your best option.</p> <p>If that doesn't work, there are several other options, <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx" rel="noreferrer">outlined here</a>. One is to leverage the search order by putting the DLL in either the working directory or the directory where the application was loaded from. </p> <p>You can change the working directory of an application by:</p> <ol> <li>Create a shortcut to your application.</li> <li>Bring up the shortcut's properties</li> <li>Edit the "Start in" property with the directory where the DLL is located.</li> </ol> <p>When you launch your application using the shortcut, it will load the right DLL.</p> <p>Other options for load-time linking include:</p> <ul> <li>Adding a manifest to your application which specifies where your dependent <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd408052%28v=vs.85%29.aspx" rel="noreferrer">assemblies</a> are, or,</li> <li>Setting the <code>PATH</code>. </li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload