Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

"Невытесняющая" Многопоточность


Есть пара потоков, и нужно как-то повеселее регулировать распределение времени между ними (кроме как приоритетами)
Например, какая-нить функция типа "все,браток, отдай все оставшееся время другому потоку, а я пока поторможу".


Сделать можно при помощи функций Sleep, WaitForSingleObject, WaitForMultipleObjects. А если нужно уснуть, и чтобы сообщения обрабатывались, то используется такой "коктейль"
#define _SLEEP(x) \
{ \
HANDLE *pHandles = new HANDLE[1]; \
pHandles[0] = CreateEvent (NULL, FALSE, FALSE, NULL);\
DWORD res = MsgWaitForMultipleObjects (1, pHandles, FALSE, x, QS_TIMER); \
CloseHandle (pHandles[0]); \
delete[] pHandles; \
};


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS