#include 
#define DLL_API __declspec(dllexport) 
DLL_API void caller(void (*f) (int x))
{
    f(2);
}
DLL_API BOOL WINAPI DllMain(HINSTANCE hInstance, 
                        DWORD uReason, DWORD lpReversed)
{
    switch(uReason)
    {
        case DLL_PROCESS_ATTACH:
            puts("Dll Attached");
        break;
        case DLL_PROCESS_DETACH:
            puts("Dll Detached");
        break;
    }
    return TRUE;
}