#include <stdio.h>
#include "os.hpp"
-#include "log.hpp"
namespace OS {
}
void
-DebugMessage(const char *message)
+DebugMessage(const char *format, ...)
{
- OutputDebugStringA(message);
- if (!IsDebuggerPresent()) {
- fflush(stdout);
- fputs(message, stderr);
- fflush(stderr);
- }
+ char buf[4096];
+
+ va_list ap;
+ va_start(ap, format);
+ fflush(stdout);
+ vsnprintf(buf, sizeof buf, format, ap);
+ va_end(ap);
+
+ OutputDebugStringA(buf);
+ if (!IsDebuggerPresent()) {
+ fflush(stdout);
+ fputs(buf, stderr);
+ fflush(stderr);
+ }
+}
+
+long long GetTime(void)
+{
+ static LARGE_INTEGER frequency;
+ LARGE_INTEGER counter;
+ if (!frequency.QuadPart)
+ QueryPerformanceFrequency(&frequency);
+ QueryPerformanceCounter(&counter);
+ return counter.QuadPart*1000000LL/frequency.QuadPart;
}
void
#endif
}
-
-
} /* namespace OS */
-
-
-#if 0
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
- switch(fdwReason) {
- case DLL_PROCESS_ATTACH:
- case DLL_THREAD_ATTACH:
- return TRUE;
- case DLL_THREAD_DETACH:
- return TRUE;
- case DLL_PROCESS_DETACH:
- Log::Close();
- return TRUE;
- }
- (void)hinstDLL;
- (void)lpvReserved;
- return TRUE;
-}
-#endif