VC常用代码之动态加载DLL

      

     根据MSDN

  1. // File:  RUNTIME.C
  2. // A simple program that uses LoadLibrary and 
  3. // GetProcAddress to access myPuts from MYPUTS.DLL. 
  4. #include <stdio.h> 
  5. #include <windows.h> 
  6. typedef VOID (*MYPROC)(LPTSTR); 
  7. VOID main(VOID
  8.     HINSTANCE hinstLib; 
  9.     MYPROC ProcAdd; 
  10.     BOOL fFreeResult, fRunTimeLinkSuccess = FALSE; 
  11.     // Get a handle to the DLL module.
  12.     hinstLib = LoadLibrary("myputs"); 
  13.     // If the handle is valid, try to get the function address.
  14.     if (hinstLib != NULL) 
  15.     { 
  16.         ProcAdd = (MYPROC) GetProcAddress(hinstLib, "myPuts"); 
  17.         // If the function address is valid, call the function.
  18.         if (fRunTimeLinkSuccess = (ProcAdd != NULL)) 
  19.             (ProcAdd) ("message via DLL function/n"); 
  20.         // Free the DLL module.
  21.         fFreeResult = FreeLibrary(hinstLib); 
  22.     } 
  23.     // If unable to call the DLL function, use an alternative.
  24.     if (! fRunTimeLinkSuccess) 
  25.         printf("message via alternative method/n"); 

 

posted on 2008-10-21 16:12  岚之山  阅读(160)  评论(0编辑  收藏  举报

导航