|  | #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; | 
|  | } |