You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

65 lines
1.1 KiB

#pragma once
#pragma warning( disable : 4028 28251 6001 )
#include <debugapi.h>
HANDLE hHeap;
#define memalloc(size) HeapAlloc(hHeap, HEAP_GENERATE_EXCEPTIONS, size)
#define memcalloc(size) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, size)
#define memfree(mem) HeapFree(hHeap, 0, mem)
#define STR_LEN(str) (sizeof(str) / sizeof(str[0]))
#define DEBUG_BREAK { if (IsDebuggerPresent()) { __debugbreak(); } }
inline void *wmemcpy(wchar_t *dst, const wchar_t *src, size_t n)
{
wchar_t *d = dst;
const wchar_t *s = src;
while (n--)
*d++ = *s++;
return dst;
}
inline void *wmemset(wchar_t *dst, wchar_t c, size_t n)
{
wchar_t *d = dst;
while (n--)
*(d++) = c;
return dst;
}
void *memset(void *dst, char c, int n)
{
char *d = dst;
while (n--)
*d = c;
return dst;
}
inline void *memcpy(void *dst, const void *src, int n)
{
char *d = dst;
const char *s = src;
while (n--)
*d++ = *s++;
return dst;
}
inline size_t wcslen(wchar_t const *str)
{
size_t result = 0;
while (*str++)
result++;
return result;
}
inline size_t strlen(char const *str)
{
size_t result = 0;
while (*str++)
result++;
return result;
}