Оффтоп
2 ajak
Хоть убей, не понимаю. Как ты можешь кодить, если ты даже грамотно писать не умеешь?
Энд оф Оффтоп
ajak Извини конечно но Vegas прав, я тожа не понимаю как ты программиш, что значит цитирую "компилятор исправляет"?
Как вот такое исправит компилятор?
:
(Dreamcast Windows CE Compiller 8.01)
void MyFunc_TryToCorrectMe_MrCompiller(
void)
{
CRITICAL_SECTION lpCriticalSection;
DWORD FourByteBuffer;
LPBYTE MangledBuffer = (LPBYTE)&FourByteBuffer;
BYTE ByByBy[5]={0,1,2,3,4};
HANDLE write_thread=NULL;
DWORD ex_code;
IsAssertionValid(&MangledBuffer );
InitializeCriticalSection(&lpCriticalSection);
ASSERT(&lpCriticalSection);
EnterCriticalSection(&lpCriticalSection); ;Ай яй яй... критическая секция начинается...
write_thread =
CreateThread (NULL, 0, (PTHREAD_START_ROUTINE)(SetRomData),(LPVOID &tgt,CREATE_SUSPENDED,&ex_code);// Есть, треад...
SetThreadPriority (write_thread, THREAD_PRIORITY_NORMAL);
ResumeThread (write_thread);
WaitForSingleObject (write_thread, 100);
memcpy(MangledBuffer,ByByBy,5); //
зачупато!!!!
LeaveCriticalSection(&lpCriticalSection);
TerminateThread (&write_thread);//Вот тоже неплохо
}
Пару раз вызовешь нихрена не произойдет, и 50 раз вызовешь эту процедуру тоже ничего, но в конечном итоге это закончиться синим экраном смерти... Поймаешь хвостиком адресное пространство двайвера и привет...
Вот из за таких шуток гамезы и вылетают в самом ответственном месте.
В каждой строчке где вызываются функции хотя бы одна фатальная ошибка, однако компилятор ничего не скажет.
По моей личной шкале некомпитентности от 0 до 50, пожалуй этот код на 47 точно тянет.
При этом заметь я проверяю ассертами для дебагера... так что вот... я в шоке... я прсто... мда... лучше промолчу... Румата опять ругаться будет...
Добавлено позже:Хотя, про грамматику, эт скорее описки... с кем не бывает-то...
Добавлено позже:Памяти выделяешь ровно столько сколько нужно сразу и боже упаси ее динамически на ходу выделять.
Тоже забавная фраза... не пробовали книжки писать?
Например: Освой выделение памяти за 30 уроков...
А если мне надо выделять строго определенную область, например сразу за виртуальным пространством прогруженного исполняемого кода? Тогда мне нужно будет полюбому предусмотреть выделение на лету, если не будет влезать мой буффер, локнул и передвинул адресацию уже прогруженных системных файлов... Ну это замудреный метод, так сразу и не скажу где такое нужно, но пример есть интересней, загрузка в поверхности директ Х своего формата файлов... там придеться динамить массив... мда может конечно я чего не понимаю? А вот мне интересно, как NWN грузиться? У него размер локаций разный... короче, я незнаю ак ваще программить если бы передо мной поставили задачу, - "Парься как хочешь, но никаких динамических массивов..." ... я бы уволися...
Добавлено позже:Кидайте в меня тапками!!!! Я злой сегодня какой-то!!!!