根据MSDN:
- // File: RUNTIME.C
- // A simple program that uses LoadLibrary and
- // GetProcAddress to access myPuts from MYPUTS.DLL.
- #include <stdio.h>
- #include <windows.h>
- typedef VOID (*MYPROC)(LPTSTR);
- VOID main(VOID)
- {
- HINSTANCE hinstLib;
- MYPROC ProcAdd;
- BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
- // Get a handle to the DLL module.
- hinstLib = LoadLibrary("myputs");
- // If the handle is valid, try to get the function address.
- if (hinstLib != NULL)
- {
- ProcAdd = (MYPROC) GetProcAddress(hinstLib, "myPuts");
- // If the function address is valid, call the function.
- if (fRunTimeLinkSuccess = (ProcAdd != NULL))
- (ProcAdd) ("message via DLL function/n");
- // Free the DLL module.
- fFreeResult = FreeLibrary(hinstLib);
- }
- // If unable to call the DLL function, use an alternative.
- if (! fRunTimeLinkSuccess)
- printf("message via alternative method/n");
- }