Лекция по созданию окон в Windows: https://disk.yandex.ru/i/tb8yW1b-2t2REg
Яндекс Диск
winapi_windows.mkv
Посмотреть и скачать с Яндекс Диска
ВСЕМ МОИМ СТУДЕНТАМ! все лабы в LMS - прошу активно работать!
❤4😢1
smart1.h
16.8 KB
Всем привет! Я считаю что самое прикольное программирование - это программирование графики. Там и ошибки веселые и результат сразу виден. Решил поделиться с вами кодом, который позволяет рисовать в окошке винды на минималках. Зато просто доступ к памяти с пикселями. Можно даже простенькую игру запилить. Код простой - родился в процессе подготовки обучающей лекции - код содержит ошибки, но работать можно сразу. Из бонусов - есть консоль и работает printf параллельно с консолью. Для запуска в вижуалке надо создать пустой проект - закинуть эти два файла и поставить Properties->Linker->System->Subsystem в значение Windows. Творите! и делитесь результатами в комментариях!
👍1🤓1😎1
ВНИМАНИЕ! Бакалавра, а где все? Лекция через 2 минуты....
😁5🍌2👻2😇2
Forwarded from ФБИТ_LIVE
18.11 - 22.11 [Hello C World]:
▪️изучим работу компилятора, линковщика и препроцессора; познакомимся с адресным пространством, организацией файлов в Visual Studio/CMAKE и создадим полезные макросы.
25.11 - 29.11 [Hello Windows]:
▪️погрузимся в WinAPI, поработаем с файлами, нитями, создадим DLL, драйверы и оконные приложения.
02.12 - 06.12 [Hello C++]:
▪️вместе с C++ освоим основы ООП, шаблоны, исключения и создадим игру на DirectX.
09.12 - 13.12 [Hello .NET]:
▪️пишем на C#, интегрируем разные языки, изучим design patterns и добавим поддержку lua в нашу игру.
Требования: Базовые знания C.
Все эксперименты можно и нужно повторять самостоятельно.
📍Песочная наб. дом 14 литера А, ауд. 113, подключение по Zoom возможно.
Отборочных тестов не будет.
🙂↔️Курс полезен для всех, кто хочет освоить языки С, C++ или C# и участвовать в разработке современного программного обеспечения!
Скорее регистрируйтесь: здесь👈
Присоединяйтесь
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
примеры с лекций:
//typedef struct _sColorParts
//{
// char b;
// char g;
// char r;
// char A;
//}sColorParts;
typedef union _sColorParts
{
struct {
char b;
char g;
char r;
};
//unsigned int Value;
}sColorParts;
#pragma pack(pop)
//p_pixels[y * w + x] = sCONS_COLOR(x, y, x ^ y);
//*(char*)(((unsigned int)p_pixels + y * w * sizeof(sColor) + x * sizeof(sColor) + 0)) = x ^ y;
//*(char*)(((unsigned int)p_pixels + y * w * sizeof(sColor) + x * sizeof(sColor) + 1)) = y;
//*(char*)(((unsigned int)p_pixels + y * w * sizeof(sColor) + x * sizeof(sColor) + 2)) = x;
//*(char*)(((unsigned int)p_pixels + y * w * sizeof(sColor) + x * sizeof(sColor) + 3)) = 0xFF;
//*(char*)((p_pixels + y * w + x + 0)) = x ^ y;
//*(char*)((p_pixels + y * w + x + 1)) = y;
//*(char*)((p_pixels + y * w + x + 2)) = x;
//*(char*)((p_pixels + y * w + x + 3)) = 0xFF;
//*((char*)(p_pixels + y * w + x) + 0) = x ^ y;
//*((char*)(p_pixels + y * w + x) + 1) = y;
//*((char*)(p_pixels + y * w + x) + 2) = x;
//*((char*)(p_pixels + y * w + x) + 3) = 0xFF;
//*((char*)&p_pixels[y * w + x] + 0) = x ^ y;
//*((char*)&p_pixels[y * w + x] + 1) = y;
//*((char*)&p_pixels[y * w + x] + 2) = x;
//*((char*)&p_pixels[y * w + x] + 3) = 0xFF;
int sz1 = sizeof(sColorParts);
int sz2 = sizeof(sColor);
sColorParts* p_pixel_parts = p_pixels;
// 3145728
// 3145725
p_pixel_parts[y * w + x].b = x ^ y;
p_pixel_parts[y * w + x].g = y;
p_pixel_parts[y * w + x].r = x;
//p_pixel_parts[y * w + x].A = 0xFF;
//p_pixel_parts[y * w + x].Value = sCONS_COLOR(x, y, x ^ y);
drawig_v2.zip
5.9 KB
Обновленный код с рисованием и комментариями
totalcmd.zip
5.5 MB
На лекции спрашивали программу Total Commander - я вот этой версией пользуюсь - по идее как portable должна работать.
👍3