Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Нахлынули приятные воспоминания
которым для меня являются аппаратные точки останова, так сложилось что ни разу не реализовывал
Apex Legend (структура которой довольно схожа с Dota 2, как мне кажется)Потому что оба используют один движок?
#define NETF(x) #x,(int)&((entityState_t*)0)->x
netField_t entityStateFields[] =
{
{ NETF(pos.trTime), 32 },
{ NETF(pos.trBase[0]), 0 },
{ NETF(pos.trBase[1]), 0 },
{ NETF(pos.trDelta[0]), 0 },
{ NETF(pos.trDelta[1]), 0 },
В C++, С# это прячется от нас, а компилятор об этом знает
// В ДЕКЛАРАЦИИ КЛАССА ФОРМЫ:
private:
void NetThread();
bool NetworkThreadMustDie,NetworkThreadMustPause;
// В КОНСТРУКТОРЕ ФОРМЫ:
LaunchMemberThread(77,&NetThread);
// НАЗНАЧЕНИЕ ПОТОКА НА МЕТОД VCL КЛАССА - вместо тайпкаста всё через жопу:
static void __stdcall LaunchMemberThread(int n,...){
_beginthread((void(*)(void *))((&n)[1]),32768,(void*)((&n)[2]));
}
можно и не лезть в регистры, а тупо взять адрес любого стекового аргумента процедуры и ориентироваться по физическому стеку от него.
Обращайте внимание на разницу между тегами source и code. Source вставляет блочный элемент с подсветкой синтаксиса, в то время как code вставляет строчный элемент (по сути просто моноширинным шрифтом). Соответственно, нет смысла вставлять несколько строк кода в тег code — он будет некрасиво смотреться, сливаясь с основным текстом. А вот source — наоборот.
В последнее время на хабре мало статей, которые чему-то реально учат. Эта, прям… огонь! Очень интересно и познавательно. Заметен академический подход. Спасибо!
Почему он работает у всех?
Статья интересная. Какие книги посоветуете почитать на смежные темы, такие как работа ОС на низком уровне?
Визуализация времени возрождения Рошана