| #include <stdio.h> | 
 | #include <windows.h> | 
 | typedef char *(__cdecl *GET_TIME_PTR)(); | 
 | typedef void(__cdecl *SAY_HELLO_PTR)(char *); | 
 |  | 
 | int main() { | 
 |   HINSTANCE hellolib; | 
 |   GET_TIME_PTR get_time; | 
 |   SAY_HELLO_PTR say_hello; | 
 |  | 
 |   bool success = FALSE; | 
 |  | 
 |   hellolib = LoadLibrary(TEXT("hellolib.dll")); | 
 |  | 
 |   if (hellolib != nullptr) { | 
 |     get_time = (GET_TIME_PTR)GetProcAddress(hellolib, "get_time"); | 
 |     say_hello = (SAY_HELLO_PTR)GetProcAddress(hellolib, "say_hello"); | 
 |  | 
 |     if (nullptr != get_time && nullptr != say_hello) { | 
 |       success = TRUE; | 
 |       char *now = get_time(); | 
 |       say_hello(now); | 
 |     } | 
 |     FreeLibrary(hellolib); | 
 |   } | 
 |  | 
 |   if (!success) printf("Failed to load dll and call functions\n"); | 
 |  | 
 |   return 0; | 
 | } |