
19.05.2009, 23:42
|
|
Новичок
Регистрация: 11.04.2009
Сообщений: 13
С нами:
8991359
Репутация:
0
|
|
нашел решение.
Код:
// Параметры для минимизации размера EXE-файла.
#pragma comment(linker,"/MERGE:.rdata=.data")
#pragma comment(linker,"/MERGE:.text=.data")
#pragma comment(linker, "/SECTION:.text,EWR")
#pragma comment(linker, "/NODEFAULTLIB")
#pragma comment(linker, "/ENTRY:main")
HINSTANCE получаем слудующим образом:
Код:
HINSTANCE hInst = GetModuleHandleA(NULL);
Вместо функций srtlen и strcat юзам винапишные lsrtlen и lstrcat.
Вместо memset:
Код:
void dg_memset(void* output, int value, int len)
{
if (len)
{
do
{
*(unsigned char*)output = (unsigned char)value;
output = (void*)((unsigned int)output + 1);
}while(--len != 0);
}
}
memcpy:
Код:
void dg_memcpy(void* output, void* input, int len)
{
if (len)
{
do
{
*(unsigned char*)output = *(unsigned char*)input;
input = (void*)((unsigned int)input + 1);
output = (void*)((unsigned int)output + 1);
} while (--len != 0);
}
}
|
|
|