C/C++ Development | YeaHub – Telegram
C/C++ Development | YeaHub
828 subscribers
228 photos
56 videos
1 file
379 links
Теория, подготовка к интервью и курсы для C/C++ разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
👨‍💻 Написание простой 16-битной виртуальной машины менее чем в 125 строках на C

Разберитесь, как (некоторые) виртуальные машины работают "под капотом", создав регистровую VM, способную интерпретировать и выполнять ограниченный набор инструкций ASM + бонусные программы для тестирования.
источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 Реализация lock-free очереди на C для высокопроизводительной конкуренции

Этот пример демонстрирует, как создать неблокирующую (lock-free) очередь с использованием атомарных операций на C, обеспечивая безопасный доступ из нескольких потоков без мьютексов.

LockFreeQueue — структура с атомарными указателями на голову и хвост.

enqueue(...) — вставка в конец очереди с использованием atomic_compare_exchange_weak, чтобы безопасно обновить указатель next.

dequeue(...) — снятие из начала очереди с безопасной заменой головы.

producer() и consumer() — потоки, которые записывают и читают данные из очереди соответственно.

pthread_create(...) — используется для запуска потоков.

Используется stdatomic.h для атомарного доступа к указателям.

Отсутствие блокировок делает такую очередь особенно подходящей для систем реального времени и высоконагруженных приложений.

Вывод программы при успешном выполнении:

Dequeued: 0
Dequeued: 1
Dequeued: 2


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Cplus
🤔 Что такое класс в С++?

В С++ класс - это пользовательский тип данных, который содержит как данные (члены данных), так и функции (методы), которые работают с этими данными. Классы обеспечивают инкапсуляцию, позволяя группировать данные и функции в одном объекте.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👾1
#полезное
😱 Туториал по Ray-Casting для разработки игр и других целей, автор: F. Permadi

Я сейчас прохожу этот туториал и пока что всё отлично. Посмотри сам.
Тык сюда

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Модель Producer & Consumer с использованием POSIX Shared Memory API на C:

🟠 продюсер записывает данные в память
🟠 консюмер читает данные из той же памяти
🟠 без файлов, без сокетов, только разделяемая память

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
📞 Изучайте программирование на C с доктором Чаком

Доктор Чарльз Северенс (он же Dr. Chuck) помогает разобраться в архитектуре компьютеров и низкоуровневом программировании с помощью классической книги по языку C, написанной Брайаном Керниганом и Деннисом Ритчи
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Как компилятор работает с vTable и vptr в C++?

vTable — это таблица указателей на функции для реализации динамического полиморфизма, a vptr - указатель на эту таблицу, который хранится в каждом объекте.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Реализация бинарного дерева поиска

Бинарное дерево поиска — это структура данных типа дерево, в которой каждый узел имеет не более двух потомков, и для любого узла левое поддерево содержит значения меньше значения самого узла, а правое поддерево — значения больше. Выше представлена реализация на C с базовыми операциями: вставка и обход в порядке возрастания (inorder traversal)

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#полезное
👍 std::bit_width()

std::bit_width() (C++20) возвращает минимальное количество бит, необходимое для представления значения. Это полезно при работе с битовыми структурами, алгоритмами сжатия, хэшированием и оптимизацией памяти.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
👋 Вот классный плейлист по созданию простой платформенной игры с нуля на C — от прототипа до релиза в Steam. Отличный способ освежить навыки C. Приятного просмотра!
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Что такое flush в C++?

В С++ функция flush используется для немедленного вывода данных из буфера на экран или в файл.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Понимание выделения памяти в C++

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵‍💫 Минимальный чат-сервер на C:

🟠 поддержка нескольких клиентов (до 10 пользователей)
🟠 трансляция сообщений в реальном времени
🟠 чистая работа с сокетами через select()
🟠 клиент на потоках для асинхронной отправки сообщений

Отлично подходит для изучения сетевого программирования
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#полезное
😴 Собери минималистичный многопоточный FTP-сервер на C

🟠 изучишь основы сокет-программирования
🟠 реализуешь параллельную передачу файлов через pthreads
🟠 настроишь базовую отдачу файлов с помощью sendfile()

Отлично подойдёт, чтобы разобраться, как устроена передача файлов по сети на низком уровне.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Какие типы данных существуют в С++?

В С++ существуют три основных типа данных: примитивные, производные и пользовательские. Примитивные данные включают целые числа, символы и числа с плавающей точкой.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
От исходного кода до финального бинарника (.elf)

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😊 std::default_sentinel

std::default_sentinel (C++20) представляет универсальный конец диапазона и используется с пользовательскими итераторами и ranges. Это полезно для создания "открытых" и ленивых представлений данных.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM