import atest; import std.gc, std.c.windows.windows; HINSTANCE g_hInst; extern (C) { void gc_init(); void gc_term(); void _minit(); void _moduleCtor(); void _moduleUnitTests(); void GC_collect(void*); } extern (Windows) BOOL DllMain(HINSTANCE hInstance, ULONG ulReason, LPVOID pvReserved) { switch (ulReason) { case DLL_PROCESS_ATTACH: break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: return false; } g_hInst = hInstance; return true; } export void GC_attach() { gc_init(); GC_collect(std.gc.getGCHandle()); } export void GC_detach() { gc_term(); }