为了让线程调用DLL模块中的函数,我们必须将dll的文件映像到调用进程的地址空间之中。有两种方式,可以达到这种目的,一种是直接让应用程序的源代码引用DLL中包含的符号,这会使得加载程序会在应用程序的时候隐式地载入所需的DLL
第二种方式是让应用程序在运行的过程中,显示地载入所需的DLL并显示地与想要的输出符号进行链接。换句话说,当应用程序在运行的时候,其中一个线程能够决定它想要调用一个DLL中的一个函数。该线程可以显示地将该dll载入到进程的地址空间中,得到DLL所包含的一个函数的虚拟内存地址,然后用该内存地址来调用这个函数。